[Postfixbuch-users] Offtopic - Mail aus PHP mit Attachment senden

Christian Garling christian.garling at cg-networks.de
Do Apr 17 12:44:09 CEST 2014


Hallo Liste,

hat nicht direkt mit Postfix zu tun, vielleicht kann trotzdem jemand 
helfen. Meine Kollegen aus der Entwicklung haben Mailversand mit 
Attachment in eine unserer PHP Applikationen implementiert. Sie nutzen 
dafür folgenden Code:

$fileToAttach = 'test.zip';

$boundary = md5(date('r', time()));
$fileSize = filesize($fileToAttach);
$fd = fopen($fileToAttach, 'r');
$fileContent = fread($fd, $fileSize);
$content = chunk_split(base64_encode($fileContent));

$mailHeader  = 'Reply-To: '.$doNotReplyTo."\n";
$mailHeader .= "MIME-Version: 1.0\r\n";
$mailHeader .= 'Content-Type: multipart/mixed; 
boundary="'.$boundary.'"'."\r\n\r\n";
$mailHeader .= 'Content-Type:text/plain; charset=UTF-8'."\r\n";
$mailHeader .= 'Content-Transfer-Encoding: 7bit'."\r\n\r\n";
$mailHeader .= '--'.$boundary."\r\n";
$mailHeader .= 'Content-Type: application/octet-stream; 
name="'.$fileToAttach.'"'."\"\r\n";
$mailHeader .= 'Content-Transfer-Encoding: base64'."\r\n";
$mailHeader .= 'Content-Disposition: attachment; 
filename="'.$fileToAttach.'"'."\r\n\r\n";
$mailHeader .= $content;
$mailHeader .= '--'.$boundary."\r\n";

mail($toMail, $subject, $body, $mailHeader);

Die daraus resultierende Mail beinhaltet das Attachment base64 codiert 
im Body der Mail, das Attachment ist so nicht verwendbar. Was machen die 
Jungs verkehrt?

Gruß, Christian



Mehr Informationen über die Mailingliste Postfixbuch-users