2014-12-29 7 views
1

Я хочу отправить вложение с PHPmailer, но когда я добавляю строку «addattachment», почта отправляется простым текстом. Это мой код:Отправить вложение с Sendmail

$headers .= "AddAttachment('downloads/file.pdf','file.pdf')\n"; 
$headers .= "Reply-To: Contoso <[email protected]>\n"; 
$headers .= "From: Contoso <[email protected]>\n"; 
$headers .= "Organization: Contoso \n"; 
$headers .= "MIME-Version: 1.0\n"; 
$headers .= "Content-type: text/html; charset=UTF-8\n"; 
$headers .= "X-Priority: 3\n"; 
$headers .= "X-Mailer: PHP". phpversion() ."\n" ; 

mail($to, $subject, $body, $headers,$param); 

Таким образом, скрипт работает без правила 'AddAttachment'. Как я могу добавить приложение успешно?

+0

Это не PHPMailer – gbestard

+0

@gbestard Ты прав, я имел в виду Sendmail – akkie

ответ

0

Вот учебник по отправке вложения.

http://webcheatsheet.com/php/send_email_text_html_attachment.php#attachment

Его не достаточно, чтобы установить только заголовок. Вы должны добавить вложение в качестве кодировки base64 в ваше сообщение.

$attachment = chunk_split(base64_encode(file_get_contents('attachment.zip'))); 

Возможно, его гораздо проще использовать LIB с сделать работу что-то вроде PHPMailer или Swift Mailer то, что я предпочитаю.

Content-Type: application/zip; name="attachment.zip" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 
+0

Спасибо, но я проверил решение в webcheatsheet.com уже не работает для меня. Затем почта отправляется в виде обычного текста. – akkie

+0

Да, потому что ваши заголовки ошибочны и возможно, что он остановится, если найдет неправильный заголовок. – Stony

Смежные вопросы