2015-03-24 5 views
0

Я написал код для отправки почты с pdf-файлом в качестве вложения, работает отправка почты. Я использовал class.phpmailer.php. Ниже мой код. Пожалуйста, посмотрите, возможно ли решение. Отсюда оценивается.Приложение PHPMailer не получает

$mpdf=new mPDF(); 
$mpdf->ignore_invalid_utf8 = true; 
$stylesheet = file_get_contents('appstyle_pdf.css'); 
$mpdf->WriteHTML($stylesheet,1); 
$mpdf->WriteHTML($output); 
$comname = preg_replace("/[^A-Za-z0-9]/","",$_POST['company']); 
$name = $dirname.str_replace(" ","-",$comname)."_".$time_stamp.".pdf";   
$mpdf->Output($name,"F");  
$filename = basename($name);   
$file_size = filesize($name);  
$content = chunk_split(base64_encode(file_get_contents($name))); 
$mail = new PHPMailer; 
$msg = 'Message'; 
$body = '<html><body><p>' . $msg . '</p></body></html>'; //msg contents 
$body = preg_replace("[\\\]", '', $body); 
$mail->AddReplyTo('[email protected]', "ACIC"); 
$mail->SetFrom('[email protected]', "ACIC Order"); 
$address = '[email protected]'; //email recipient 
$mail->AddAddress($address, "NAME"); 
$mail->Subject = 'SUBJECT of ACIC order form'; 
$mail->MsgHTML($body); 
$mail->AddStringAttachment($content , $filename); 
if (!$mail->send()) { 
echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
echo "Message sent Successfully please check attachement!"; 
} 

Когда я использую приведенное выше вложение кода, приходит к письму, но файл развращает. Сообщение об ошибке похоже на то, что «Adobe Reader не смог открыть abc.pdf, потому что это либо не поддерживаемый тип файла, либо потому, что файл поврежден (например, он был отправлен как вложение электронной почты и неправильно декодирован)».

ответ

1

Почему вы это делаете?

$content = chunk_split(base64_encode(file_get_contents($name))); 
... 
$mail->AddStringAttachment($content , $filename); 

Это совершенно не нужно. Просто выполните это:

$mail->addAttachment($name); 

Также я подозреваю, что вы используете старую версию PHPMailer; получите последнюю информацию от github.

+0

можно отправить мне последнюю версию PHPMailer ссылку из github –

+0

версия для phpmailder - 5.2.9, а версия php - 5.3. –

+0

. Хорошо, вы просто основали свой код на старом примере. – Synchro

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