Christian Garling
2014-04-17 10:44:09 UTC
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
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