Mittlerweile sind viele Mailserver so konfiguriert, dass sie vor dem Versenden von Mails eine Authentifizierung verlangen. Wenn Sie nun über telnet den Versand von Mails testen möchten, müssen Sie sich natürlich authentifizieren, bevor Sie z.B. mail from: eingeben können:
telnet mailserver.domain.com 25
220 mailserver.domain.com ESMTP
helo x
250 mailserver.domain.com
mail from: blog@langlitz-it.de
530 5.7.0 Please configure your mail client for using SMTP Server Authentication
Wie funktioniert das?
Geben Sie über den Telnet zum Aufruf der Authentifizierung
AUTH LOGIN
ein.
Der Mail Server liefert folgendes zurück:
334 VXNlcm5hbWU6
Hierbei handelt es sich um einen base64 encoded string, der nach der Eingabe des Usernamens fragt. Sie müssen nun Ihren Usernamen auch base64 encoded eingeben. Die Umwandlung können Sie relativ einfach direkt über die PowerShell durchführen.
$User = “blog@langlitz-it.de”
$bytes = [System.text.encoding]::Unicode.GetBytes($User)
$Userenc = [convert]::ToBase64String($bytes)
$Password = “Password1”
$bytes = [System.text.encoding]::Unicode.GetBytes($Password)
$Passwordenc = [convert]::ToBase64String($bytes)
Das kann auch in umgekehrter Richtung wieder entschlüsselt werden.
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($Userenc))
Wenn Sie Ihren Usernamen ($Userenc) base64 encoded eingegeben haben, liefert der Mail Server die Aufforderung zur Eingabe des Passworts zurück:
334 UGFzc3dvcmQ6
Geben Sie Ihr Passwort ($Passwordenc) auch base64 encoded ein. Der Mail Server liefert (sofern Username und Passwort richtig sind) die Bestätigung der Anmeldung zurück:
235 2.7.0 OK Authenticated
Danach können Sie wie gewohnt mit mail from: und rcpt to: fortfahren.