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:
$To = "empfänger@xxx.com"
$Passwort = "passwort"
$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
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:
- Mail-Adressen
$To = "empfänger@xxx.com"
- Authentifizierung
$Passwort = "passwort"
- Pfad vom Anhang
- 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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 214976
Url: https://administrator.de/contentid/214976
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Jvan, Willkommen im Forum!
Das liegt daran das das NET-Object
Damit das nicht passiert musst du den Timeout vor dem Senden hiermit verlängern:
Dies verlängert den Timeout beispielsweise auf 30 Minuten. Die Angabe muss in Millisekunden erfolgen.
Grüße Uwe
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
Grüße Uwe
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
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