Hallo Community,
habe hier ein schier unlösbares Problem. Ich möchte über meinen Mailserver (Mandrake 10.0) E-Mails direkt über SMTP verschicken. Dazu benutze ich fsockopen() und fputs(). Wenn ich Mails ohne Anhang oder mit genau einem Anhang verschicke, funzt alles Problemlos. Sobald ich mehr als einen Anhang anfüge, bekomme ich eine Fehlermeldung (lost connection after DATA). Scheinbar stimmt etwas mit der Schleife nicht, obwohl beim Versand von EINEM Anhang kein Problem auftritt. Hat jemand eine Idee??
hier mal ein Auszug vom Script:
Bin für jeden Vorschlag Dankbar.
habe hier ein schier unlösbares Problem. Ich möchte über meinen Mailserver (Mandrake 10.0) E-Mails direkt über SMTP verschicken. Dazu benutze ich fsockopen() und fputs(). Wenn ich Mails ohne Anhang oder mit genau einem Anhang verschicke, funzt alles Problemlos. Sobald ich mehr als einen Anhang anfüge, bekomme ich eine Fehlermeldung (lost connection after DATA). Scheinbar stimmt etwas mit der Schleife nicht, obwohl beim Versand von EINEM Anhang kein Problem auftritt. Hat jemand eine Idee??
hier mal ein Auszug vom Script:
PHP-Code:
$from = explode(":", $this->new_from);
$boundary = "=_Next_Part_";
//------------------------------------------------------------------------------------------------------------------
$handle = fsockopen("localhost", 25, $errno, $errstr, 30);
fputs($handle, "EHLO h-server-technik.de\r\n");
fputs($handle, "MAIL FROM: <".$from[1].">\r\n");
fputs($handle, "RCPT TO: <".$this->new_to.">\r\n");
fputs($handle, "DATA\r\n");
fputs($handle, "Subject: ".$this->new_subject."\r\n");
fputs($handle, "From: ".$from[0]." <".$from[1].">\r\n");
fputs($handle, "To: ".$this->new_to."\r\n");
fputs($handle, "Cc: ".$this->new_cc."\r\n");
if(sizeof($this->attachments)== 0)
{
fputs($handle, "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n");
fputs($handle, "Content-Transfer-Encoding: 7bit\r\n\r\n");
fputs($handle, $this->new_message."\r\n");
}
else
{
fputs($handle, "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n");
fputs($handle, "MIME-Version: 1.0\r\n");
fputs($handle, "--".$boundary."\r\n");
fputs($handle, "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n");
fputs($handle, "Content-Transfer-Encoding: 7bit\r\n\r\n");
fputs($handle, $this->new_message."\r\n");
fputs($handle, "\r\n");
for($i=0;$i<count($this->attachments);$i++)
{
fputs($handle, "\r\n\r\n");
fputs($handle, "--".$boundary."\r\n");
fputs($handle, "Content-Disposition: attachment; filename=\"".$this->attachments[$i]->filename."\"\r\n");
fputs($handle, "Content-Type: ".$this->attachments[$i]->type."; name=\"".$this->attachments[$i]->filename."\"\r\n");
fputs($handle, "Content-Transfer-Encoding: base64\r\n\r\n");
fputs($handle, imap_binary($this->attachments[$i]->data)."\r\n\r\n");
fputs($handle, "--".$boundary."\r\n");
}
}
fputs($handle, ".\r\n");
#fputs($handle, "\r\n.\r\n");
fputs($handle, "QUIT\r\n");
fclose($handle);
Kommentar