Mails per SMTP führt zu Eintrag im Serverlog

Ötzi

Mitglied
Hallo,

Ich war mir nicht sicher, ob mein Anliegen eher in den PHP Bereich oder den Serverbereich passt - von daher sorry wenn es hier nicht ganz passt.

Ich versende per PHP und SMTP E-Mails mit folgendem Code:
PHP:
$from = "test@host";
$to = "to@host";

$fp = fsockopen("123.123.123.123", 25);
fputs($fp, "HELO ".$REMOTE_ADDR."\n");

fputs($fp, "MAIL FROM: ".$from."\n");
fputs($fp, "RCPT TO: ".$to."\n");
fputs($fp, "DATA\n");

fputs($fp, "TO: ".$to."\n");
fputs($fp, "FROM: Test <".$from.">\n");
fputs($fp, "Subject: ".$subject."\n");
fputs($fp, "Reply-To: ".$from."\n");
fputs($fp, "Date: ".$date."\n");

fputs($fp, "Content-Type: text/plain;charset=\"iso-8859-1\"\n");
fputs($fp, "Content-Transfer-Encoding: 8bit\n");
fputs($fp, "MIME-Version: 1.0 \n\n");

fputs($fp, "\n");
fputs($fp, "".$content."\n");
fputs($fp, "\n.\n");
fputs($fp, "QUIT\n");

Das versenden klappt auch wunderbar - die Mails kommen entsprechend an und der Inhalt wird angezeigt - doch im Serverlog des Mailservers erscheinen immer folgende Einträge:

Code:
SMTP server connection from 123.123.123.123 closed after 3 bad comments

Was bedeutet diese Meldung? Ich konnte im Internet nichts entsprechendes finden. Ist an meinem PHP Code irgendetwas falsch? Aber warum kommt die E-Mail trotzdem an?

Danke schonmal.
 
Beim SMTP werden die Zeilen normalerweise durch die Zeichensequenz „CR LF“ statt einem einfachen „LF“-Zeichen getrennt. Möglicherweise liegt es daran.
 
Meinst du am Ende jeder Zeile ein \r\n anstatt nur \n?

Das hatte ich auch schon ... hat aber nichts gebracht!
 
Zuletzt bearbeitet:
probier mal was passiert wenn du das hier angibts?
define ('CRLF', chr(13).chr(10));

und dann statt \n oder \r\n schreibst du dort, das hin:
chr(13).chr(10)
 
Zurück