Проблема с электронной почтой при добавлении файла вложения - PullRequest
0 голосов
/ 19 апреля 2011

У меня проблема при попытке отправить электронное письмо с вложенным файлом, я просто получаю сообщение с пустым вложением, как я могу это исправить. Вот мой код:

$html2pdf = new HTML2PDF("P","A4", "fr");
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$to = "example@yahoo.com"; 
$subject = "Voucher Mediskon";
$random_hash = md5(date("r", time()));
$headers = "From: Admin Mediskon<admin@" . $domain . ">\r\nReply-To: admin@" . $domain;
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode( $html2pdf->Output("", "S") ));
ob_start();
?>
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"
--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<h2>Terimakasih telah membeli voucher kami. Mediskon</h2>
<p>Silakan <b>unduh ( download )</b> voucher pada <b>attachment</b> yang kami kirim.</p>
--PHP-alt-<?php echo $random_hash; ?>--
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: application/pdf; name="voucher.pdf" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 
<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--
<?php 
$message = ob_get_clean();
$mail_sent = @mail( $to, $subject, $message, $headers );

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

я просто получаю сообщение с пустым вложением

Так что проблема не в электронной почте, а в процессе прикрепления файла к электронной почте.

Вы просматривали необработанные данные в сообщении, чтобы определить, имеет ли вложение нулевую длину?

Вы пытались записать сгенерированный PDF-файл в файл, чтобы проверить его содержимое?

1 голос
/ 19 апреля 2011

Не используйте функцию почты PHP напрямую. Это небезопасно и негибко. Плюс вы изобретаете велосипед. Вот две замечательные почтовые библиотеки, которые поддерживают HTML и вложения файлов:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...