EMail ps skript funktioniert nicht.
Hallo Zusammen,
ich habe ein skript zusammen geschustert, welches einfach keine eMail versenden will. Es wirft mir aber auch partout keine Fehlermeldung aus.. Nach vielem hin und her probieren bin ich ratlos. Kann mir jemand helfen?
Es handelt sich um ein exchange2010 in auf einem 2008 R2 Server.
Sinn und Zweck ist hier ein Postfach zu überwachen, ob hier sich hier zu viele eMails bzw. Objekte ansammeln.
Die Objekte zu bestimmen funktioniert. Die sind bei meinen Test auch größer als 500 gewesen.
Ich vermute aber dass das Problem bei dem Send-MailMessage liegt, da auch der Aufruf alleine des Send-MailMessages Befehls nicht funktioniert bzw. nichts passiert. (Keine Fehlermeldung)
Viele Grüße
Mhinz
ich habe ein skript zusammen geschustert, welches einfach keine eMail versenden will. Es wirft mir aber auch partout keine Fehlermeldung aus.. Nach vielem hin und her probieren bin ich ratlos. Kann mir jemand helfen?
$SMTPServer = "mailserver"
$to = "empfaenger@firma.de"
$from = "versender@firma.de"
$Subject = "Mailarchiv wird nicht mehr abgerufen"
$body = "Mailarchiv wird nicht mehr abgerufen"
$username = "user"
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ($username, $password)
$Objekte = Get-MailboxStatistics -Identity Postfach | Format-Wide -Property ItemCount
If ("$Objekte" -gt 500) {Send-MailMessage -To $To -From $From -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Credential $creds -encoding ([System.Text.Encoding]::UTF8)}
Else {}
Es handelt sich um ein exchange2010 in auf einem 2008 R2 Server.
Sinn und Zweck ist hier ein Postfach zu überwachen, ob hier sich hier zu viele eMails bzw. Objekte ansammeln.
Die Objekte zu bestimmen funktioniert. Die sind bei meinen Test auch größer als 500 gewesen.
Ich vermute aber dass das Problem bei dem Send-MailMessage liegt, da auch der Aufruf alleine des Send-MailMessages Befehls nicht funktioniert bzw. nichts passiert. (Keine Fehlermeldung)
Viele Grüße
Mhinz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 222086
Url: https://administrator.de/contentid/222086
Ausgedruckt am: 08.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo masterhinz,
zuerst schreibe deine Zeile 9 so :
Außerdem brauchst du keine Anführungszeichen um "$Objekte" in der IF-Bedingung in Zeile 10.
Dann musst du eventuell auf dem Exchange im Empfangsconnector unter "Berechtigungsgruppen" die Gruppe "Anonyme Benutzer" aktivieren. Siehe hierzu: http://social.technet.microsoft.com/Forums/exchange/en-US/3201f365-5b74 ...
Alternativ probiere mal folgende .NET Mail-Funktion (Zeile 3-6) anpassen:
Grüße Uwe
zuerst schreibe deine Zeile 9 so :
$Objekte = (Get-MailboxStatistics -Identity Postfach).ItemCount
Dann musst du eventuell auf dem Exchange im Empfangsconnector unter "Berechtigungsgruppen" die Gruppe "Anonyme Benutzer" aktivieren. Siehe hierzu: http://social.technet.microsoft.com/Forums/exchange/en-US/3201f365-5b74 ...
Alternativ probiere mal folgende .NET Mail-Funktion (Zeile 3-6) anpassen:
Function sendmail($FROM,$TO,$SUBJECT,$BODY,$ATTACHMENTS){
$SMTPHOST = "[SERVER]"
$SMTPPORT = 25
$SMTPUSER = "[USERNAME]"
$SMTPPass = "[PASSWORT]"
$SMTPClient = New-object System.Net.Mail.SmtpClient($SMTPHOST,$SMTPPORT)
# Wenn SSL dann nächste Zeile auskommentieren
# $SMTPClient.EnableSsl = $true
$Mail = new-object System.Net.Mail.MailMessage
$Mail.from = $FROM
$Mail.to.add($TO)
$SMTPClient.Credentials = new-object System.Net.NetworkCredential($SMTPUSER,$SMTPPass)
$Mail.Subject = $SUBJECT
$Mail.Body = $BODY
# Add Attachments
if ($ATTACHMENTS){
foreach ($att in $ATTACHMENTS){
$Mail.Attachments.Add($att.FullName)
}
}
$SMTPClient.Send($Mail)
}
sendmail "sender@domain.com" "empfaenger@domain.com" "DEIN BETREFF" "DER INHALT"