SMTP MAIL versenden

Hi, da ich in mein Programm eine emailfunktion einbauen muss, hab ich nen Problem mit der Authentifizierung am Mailserver.

Welche Verschlüssellung nutzen die mailserver zum einloggen?
Ich habe im RFC nix darüber gefunden.

Mein Outlook 2003 authentifiziert sich so:

EHLO ws01
AUTH LOGIN
response 334: eine wilde zeichenkette
ich sende benutzername
response 334: eine andere wilde zeichenkette
ich sende kennwort
response 235: authentification successful

Doch da das Kennwort und der Benutzername nicht im klartext übertragen werden, würde mich die Verschlüssellung interessieren. Wie gesagt im RFC 2554 hab ich nix mit AUTH LOGIN gefunden. Dort werden nur andere AUTH Techniken besprochen.

PS: Nein ich möchte keine fremde SMTP Biblothek nutzen :)
 
Nach der Anforderung von AUTH LOGIN durch den Client, sendet der Server den String ?VXNlcm5hbWU6? (?Username:? in base64-Codierung) und erwartet seinerseits den Usernamen als Antwort. Im Anschluß sendet der Server den String ?UGFzc3dvcmQ6? (?Password:? in base64-Codierung) und erwartet das Senden des Passwortes durch den Client. Stimmen die Angaben mit den serverseitig gespeicherten Werten überein, ist der Benutzer authentisiert und kann mit der Übertragung der Daten beginnen.


ÜBRIGENS handelt es sich bei dem EHLO befehl um EXTENDED SMTP
Wenn du es mal mit HELO versuchst geht es ohne Codierung wenn
dein Server es zulässt
 
habs mit helo versucht, doch da braucht er auch die base64 codierung. Aber danke für den Tip mit base64. werds dann gleich mal umsetzen.

Eine Frage noch. Akzeptieren alle Mailserver EHLO und dazu die base64 codierung?
Bzw wieso ist es überhaupt base64 codiert? Die codierung lässt sich ja nun wirklich einfach ver/entschlüsseln und ist somit ja praktisch ein Schutz = NULL
 
wie kann ich das denn am besten abfangen bzw kontrollieren? Outook unterscheided da ja sicherlich auch und verbindet sich nur per EHLO wenn der Server es auch unterstützt, oder ?
 
base64 ist keine verschluesselung (md5 auch nicht). viele mailserver bieten die verwendung von tls/ssl an (STARTTLS). smtp authentication (benutzername und passwort) dient zur authentifizierung. die verwendung eines verschluesselungsprotokolls wie tls/ssl dient zur sicherstellung der vertraulichkeit und integritaet (niemand hat die daten mitgelesen und niemand hat die daten veraendert).
wenn der smtp server ein zertifikat nutzt welches von einer unbekannten ca signiert wurde, sind weder vertraulichkeit noch integritaet garantiert. in diesem fall weiss man nur, dass man vor passiven attacken (sniffer) geschuetzt ist.
 
Zurück
Oben