Ich möchte EMails über
SMTP-Auth, wie in
RFC-2554 beschrieben, verschicken. Als Test hab ich zunächst mal GMX benutzt. Die ersten beiden Sätze klappen ja ganz gut, aber dann weichen die Server-Antworten von den im Protokoll beschriebenen ab. Zur Kommunikation benutz ich PHP, aber in Delphi wäre es ja genau das gleiche.
Folgenden Code hab ich bereits:
Code:
$fp = fsockopen('mail.gmx.de',25);
if($fp) {
echo fgets($fp,1024).'
';
fputs($fp,"EHLO mail.gmx.de\r\n");
echo fgets($fp,1024).'
';
echo fgets($fp,1024).'
'; //bis hierher nach Vorgabe
fputs($fp,"AUTH PLAIN\r\n");
echo fgets($fp,1024).'
';
fputs($fp,"$loginname\r\n");
echo fgets($fp,1024).'
';
fputs($fp,"$password\r\n");
echo fgets($fp,1024).'
';
}
Bis zu dem Kommentar läuft wie gesagt alles wunderbar. Nur nach dem "AUTH PLAIN" - Befehl liefert mir der Server als Antwort eine 250er-Meldung und dann noch zwei weitere 250er, egal ob ich Loginname und Passwort angebe oder nicht.
So sehen meine Server-Antworten aus:
- 220 {mp004-rz3} GMX Mailservices ESMTP
250-{mp004-rz3} GMX Mailservices
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
Ihr könnt ja den Code mal ausprobieren und mir mal sagen, was ich falsch gemacht habe. Ich wär sehr dankbar darum.
Oder falls jemand den Link zu einer brauchbaren Erklärunng des Protokolls hat, würde er mir auch sehr helfen.
[edit=Admin]Da es sich hier um kein Delphi-spezifisches Problem handelt, verschiebe ich dies mal nach "Programmieren allgemein"[/edit]