none
Automatisierter Mail-Versand via PowerShell Script RRS feed

  • Frage

  • Guten Tag, 

    Habe mich in den letzten Tagen ein wenig mit PowerShell im zusammenhang mit Mail-Versand beschäftigt.

    Alles funktioniert, sprich, ich habe ein Script geschrieben, welches ein Mail mit einem Anhang sendet. Auch die Automatisierung läuft. 

    Das Problem welches ich habe, sobald ich einen Anhang, welcher grösser als 8MB ist, über dieses Script versenden will, öffnet sich zwar PowerShell (dauert auch sehr lange bis dieses Fenster wieder geschlossen wird) jedoch die Mail kommt nicht an, sprich wird nicht versendet. 

    JETZE MEINE FRAGE: 

    - Ist die Anhang-Grösse über PowerShell auf max. 8MB begrenzt, oder wo liegt das Problem?

    - Wie kann ich dies umgehen, damit ich über dieses Script auch eine Datei welche grösser als 8MB ist, versenden kann?

    Ich habe schon Stundenlang im Netzt gesucht, jedoch diesbezüglich leider nichts gefunden, weswegen ich jetzt die Hoffnung habe, hier Hilfe zu bekommen.

    Vielen Dank schon im voraus

    & liebe Grüsse aus der Schweiz ;-)

    Mittwoch, 31. Juli 2013 09:00

Antworten

  • Hallo,

    ich wollte mit meiner Antwort in Erfahrung bringen, ob du z.B: mit Outlook ueber den gleichen Mailserver groessere Mails versenden kannst, das scheint ja zu gehen, wie du schreibst.

    Die MaxMessageSize konfiguriert man an dem verwendeten MailServer. Je nach dem welchen Mail Server ihr verwendet, z.B.: Exchange oder Lotus kann man sehr viel Konfigurieren, also z.B.: Max-Mailgroessen Grupenabhaengig festzulegen, tageszeitabhaenig usw.

    Da redest Du am besten mal mit dem Administrator der fuer deinen Server verantworlich ist, direkt mit der Powershell hat das nichts zu tun.

    Mit dem folgenden Code kannst Du auch direkt Outlook nutzen um Mails zu versenden.

    $ol = New-Object -comObject Outlook.Application
    $mail = $ol.CreateItem(0)
    $Mail.Recipients.Add("XXX@XXX.XX")
    $Mail.Subject = "TestMail"
    $Mail.Body = "
    TEST
    "
    $Mail.Attachments.Add(".\test.txt")
    $Mail.Send()

    Beste Gruesse
    brima
    • Als Antwort markiert brex-it Mittwoch, 31. Juli 2013 13:17
    Mittwoch, 31. Juli 2013 12:45

Alle Antworten

  • Hallo,

    bei -SmtpServer gibts Du ja einen ServerNamen an. Du kannst ueber diesen Server mit Hilfe von anderen Mailmoeglichkeiten wie Outlook oder so groessere Anhanenge versenden?

    Ich tippe mal stark darauf, dass auf diesem Server die MaxMessageSize auf 8MB beschraenkt ist.

    Beste Gruesse
    brima


    Ich habe mir gerade mal ein Testfile von 9MB erzeugt und ueber send-mailmessage gesendet, geht Problemlos!
    • Bearbeitet brima Mittwoch, 31. Juli 2013 10:31
    Mittwoch, 31. Juli 2013 10:22
  • Danke für deine Antwort. 

    Jedoch habe ich das mit den Mailmöglichkeiten nicht ganz verstanden was du damit meinst.

    Bei $SmptServer habe ich den ServerName "smtp.genotec.ch" eingetragen, über welchen ich auch über Outlook meine Mails versenden kann. Wenn ich aus dem Outlook Mails mit Anhang schreibe, spielt die Grösse des Anhangs auch keine Rolle, jedoch übers PowerShell-Script schon.

    Wo muss ich die MaxMessageSize einstellen/anpassen? Oder wo kann ich dies nachschauen ob dies gesetzt ist?

    Beste Grüsse 

    Mittwoch, 31. Juli 2013 11:31
  • Hallo,

    ich wollte mit meiner Antwort in Erfahrung bringen, ob du z.B: mit Outlook ueber den gleichen Mailserver groessere Mails versenden kannst, das scheint ja zu gehen, wie du schreibst.

    Die MaxMessageSize konfiguriert man an dem verwendeten MailServer. Je nach dem welchen Mail Server ihr verwendet, z.B.: Exchange oder Lotus kann man sehr viel Konfigurieren, also z.B.: Max-Mailgroessen Grupenabhaengig festzulegen, tageszeitabhaenig usw.

    Da redest Du am besten mal mit dem Administrator der fuer deinen Server verantworlich ist, direkt mit der Powershell hat das nichts zu tun.

    Mit dem folgenden Code kannst Du auch direkt Outlook nutzen um Mails zu versenden.

    $ol = New-Object -comObject Outlook.Application
    $mail = $ol.CreateItem(0)
    $Mail.Recipients.Add("XXX@XXX.XX")
    $Mail.Subject = "TestMail"
    $Mail.Body = "
    TEST
    "
    $Mail.Attachments.Add(".\test.txt")
    $Mail.Send()

    Beste Gruesse
    brima
    • Als Antwort markiert brex-it Mittwoch, 31. Juli 2013 13:17
    Mittwoch, 31. Juli 2013 12:45