brex-it
Goto Top

Mailversand via PowerShell-Script mit Anhang (grösser als 8MB)

Hallo Leute

ich hoffe, dass ich hier auf ein paar hilfreiche Antworten hoffen kann.
Also zu meinem Problem, ich muss eine Mail mit Anhang per PowerShell-Script senden.
Es funktioniert solange der Anhang nicht grösser als 8MB ist, wenn er grösser ist, bekomme ich
einen Time-Out Fehler und die Nachricht wird nicht gesendet.

Wenn ich über die selbe Mail-Adresse übers Outlook eine Nachricht versende, kann ich ohne Probleme
z.B. 16MB anhängen und versenden, jedoch übers PowerShell funktioniert es nur bis max. 8MB.
Woran liegt das?
Ist die maximale Nachrichtengrösse über PowerShell limitiert, oder gibt es eine möglichkeit diese
maximale Nachrichtengrösse zu erweitern, damit auch eine Mail mit einem Anhang von 16MB versendet
werden kann?!

Hier mein Script:

  1. Mail-Adressen
$From = "absender@xxx.com"
$To = "empfänger@xxx.com"

  1. Authentifizierung
$Benutzer = "absender@xxx.com"
$Passwort = "passwort"

  1. Pfad vom Anhang
$Anhang = "C:\test.zip"

  1. Betreff
$Betreff = "Betreff"
$Nachricht = "Nachricht der Mail"



$Att = new-object Net.Mail.Attachment($Anhang)
$SmtpServer = “smtp.xxx.com”
$Smtp = new-object Net.Mail.SmtpClient($SmtpServer)
$Credentials=new-object system.net.networkcredential($Benutzer,$Passwort)
$Smtp.credentials=$Credentials.getcredential($SmtpServer,"587","basic")
$Message = New-Object Net.Mail.MailMessage($From,$To)
$Message.Subject = $Betreff
$Message.Body = $Nachricht
$Message.Attachments.Add($Att)
$Smtp.Send($Message)


Hoffe auf ein paar hilfreiche Antworten und Tipps.

Liebe Grüsse

Jvan

Content-Key: 214976

Url: https://administrator.de/contentid/214976

Printed on: April 23, 2024 at 21:04 o'clock

Member: colinardo
colinardo Aug 22, 2013 updated at 12:52:42 (UTC)
Goto Top
Hallo Jvan, Willkommen im Forum!
Das liegt daran das das NET-Object System.Net.Mail.SmtpClient bei einem synchronen Send-Vorgang standardmäßig einen Timeout von 100 Sekunden hat, d.h. wenn die Mail nicht innerhalb dieser Zeitspanne gesendet wurde, wird der Sendevorgang abgebrochen.
Damit das nicht passiert musst du den Timeout vor dem Senden hiermit verlängern:
$Smtp.Timeout = 1800000
Dies verlängert den Timeout beispielsweise auf 30 Minuten. Die Angabe muss in Millisekunden erfolgen.

Grüße Uwe
Member: brex-it
brex-it Aug 22, 2013 at 13:56:38 (UTC)
Goto Top
Hallo Uwe,
vielen Dank für deine hilfreiche Antwort.

Ich habe jetzt ein paar Test's gemacht jedoch wenn ich mehr als 18MB als Anhang senden möchte, kommt folgende Meldung;


Ausnahme beim Aufrufen von "Send" mit 1 Argument(en): "Speicherzuordnung überschritten. Die Serverantwort
war: 5.2.3 DATA size exceeds maximum permitted"
Bei C:\Users\XXX.XXX\Desktop\Mail_per_PowerShell\MailMitAnhang.ps1:29 Zeichen:11

back-to-top$Smtp.Send <<<< ($Message)

+ CategoryInfo : NotSpecified: (face-smile , MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException


Laut angaben vom Hoster, sollte es bis max. 25MB funktionieren.
Ich hoffe, dass ich noch einen solchen super Tipp bekomme, damit es nachher auch funktioniert.

Gruss Jvan
Member: colinardo
colinardo Aug 22, 2013 at 14:05:46 (UTC)
Goto Top
Die Gesamtgröße einer Mail ist immer etwas größer als nur der reine Anhang. Kläre das mit deinem Hoster ab - anhand der Rückmeldung liegt hier das Problem eindeutig auf Hosterseite, da kannst du mit Einstellungen an deinem Script nichts ausrichten, außer du komprimierst deine Anhänge vorher.
Würde dir aber empfehlen größere Dateien anders zu übermitteln, z.B. über eine FTP-Freigabe und einen Link, oder Upload auf einen Webserver mit zufällig generiertem Dateinamen. Große Anhänge verschickt man heute eigentlich nicht mehr per Mail.

Grüße Uwe
Member: brex-it
brex-it Aug 22, 2013 at 14:14:54 (UTC)
Goto Top
Vielen Dank.
Ich habe dies als Auftrag bekommen, mich mit dem mal zu beschäftigen. Jedoch da ich nach tagelangem ausprobieren und pröbeln nicht weiterkam,
musste ich mich an ein Forum wenden.
Bis 18MB kann ich ja jetzt problemlos versenden, und somit bin ich schon mal einen Schritt weiter. Wie die effektive Lösung schlussendlich aussieht, weiss ich selber noch nicht.

Jedoch vielen herzlichen Dank für deine raschen Antworten.

Gruss Jvan