robdox
Goto Top

MAIL-Versand mit STARTTLS ? PowerShell

Hallo,

ergänzend zu meinem letzten Beitrag, finde ich keine klare Antwort - wie kann ich E-Mails verschicken, wenn der Office-SMTP-Server eine STARTTLS verschlüsselung verlangt?

Selbst mit richtigen Credantials kann ich keine Mails verschicken:

Send-MailMessage : The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send 
anonymous mail during MAIL FROM [......prod.outlook.com]

Die Funktion ist weiterhin:

function AVIS_Mail($Mail, $body, $Mail_File, $Subject) {
     try {

     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # bringt leider nichts

     $SMTPServer             = “smtp.office365.com”
     $SMTPClient             = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
     $SMTPClient.EnableSsl   = $true
     $SMTPClient.UseDefaultCredentials = $true
     $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("user", "pw")  
     
    
     $Mail_Msg               = New-Object System.Net.Mail.MailMessage
     $Mail_Att               = New-Object System.Net.Mail.Attachment($Mail_File)  
     $Mail_Msg.Attachments.Add($Mail_Att)
     $Mail_Msg.from          ="Avis@.....de"   

     $bccMail                ="..@.de"  
     $Mail_Msg.To.add($Mail)
     $Mail_Msg.Bcc.Add($bccMail)
     $Mail_Msg.Subject       =$Subject
     $Mail_Msg.IsBodyHtml    =$true
     $Mail_Msg.Body          =$body

     $SMTPClient.Send($Mail_Msg) 
     } 
    
     catch 
     {
      $_.exception.message
      $Mail_Msg.Subject    = "Fehler beim Zustellen einer Nachricht"  
      $Mail_Msg.Body       = "Fehler! Es konnte keine E-Mail an: "+$Mail+" geschickt werden<br><br>$_.exception.message"  
      $Mail_Msg.To.add(".....")  
      $smtp.Send($Mail_Msg) 
      break;
     }
     #Prozess wieder freigeben, da sonst Zugriffsfehler
     $Mail_Att.Dispose()
     $Mail_Msg.Dispose()
     [gc]::Collect()
}

Der Versand erfolgt von einem Server in der AZURE-Cloud

Content-ID: 627392

Url: https://administrator.de/forum/mail-versand-mit-starttls-powershell-627392.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

146707
146707 02.12.2020 aktualisiert um 11:43:56 Uhr
Goto Top
Ich sach mal erneut Flüchtigkeitsfehler ... bidde was glaubst du sagt dir diese Zeile?
$SMTPClient.UseDefaultCredentials = $true
Genau, es nutzt die aktuellen Windows Credentials des Accounts für die Anmeldung am SMTP statt den in der Zeile danach angegebenen Credentials, und dann klar das es Peng macht ... Bitte ab und zu mal die DOKU auch lesen statt für jeden F... einen Thread aufzumachen!

Wie kann ich E-Mails verschicken, wenn der Office-SMTP-Server eine STARTTLS verschlüsselung verlangt?
Das macht der SMTPClient automatisch wenn EnableSSL = $true ist.
robdox
robdox 02.12.2020 um 11:47:50 Uhr
Goto Top
Hi,

das war wohl von mir ein C&P Fehler - die Credentials sind natürlich FALSE - ich habe nur experimentiert- Die Meldung bleibt die gleiche, leider ...

Muss noch irgendwas explizit angegeben werden, für eine STARTTLS Verschlüsselung?
146707
Lösung 146707 02.12.2020 aktualisiert um 12:39:01 Uhr
Goto Top
Zitat von @robdox:
Muss noch irgendwas explizit angegeben werden, für eine STARTTLS Verschlüsselung?
Nein, works out of the box, dazu muss aber dein Management Framework auch aktuell sein damit TLS 1.2 supported wird. Aber der SMTP Client ist schon lange nicht mehr empfohlen (auch von MS nicht) weil dieser moderne Protokolle und Authentifizierungsarten nicht mehr unterstützt und dahingehend auch nicht aktualisiert wird.
Ein Umstieg auf z.B. Mailkit ist der empfohlenere Weg

Liest du auch hier
https://docs.microsoft.com/de-de/dotnet/api/system.net.mail.smtpclient?v ...
Wichtig
Es wird nicht empfohlen, die- SmtpClient Klasse für die neue Entwicklung zu verwenden, da SmtpClient viele moderne Protokolle nicht unterstützt. Verwenden Sie stattdessen mailkit oder andere Bibliotheken.

p.s. Du hast typographische Anführungszeichen um den Servernamen benutzt dat kommt auch gar nüsch gut ...
Wohl eher falsche Credentials oder falsche From-Adresse oder veraltetes Framework.
robdox
robdox 04.12.2020 um 14:14:30 Uhr
Goto Top
Vielen Dank! Waren mir falsch übermittelte Credentials.

Ich werde die Tage Umbauen auf Mailkit! Nochmals vielen Dank!
146707
146707 04.12.2020 aktualisiert um 15:16:10 Uhr
Goto Top
Zitat von @robdox:
Vielen Dank! Waren mir falsch übermittelte Credentials.
🙈 Man oh man, und das checkt man nicht mal bevor man hier die Leute beschäftigt ?? Koppschüttel.