接收" ATT00001.txt"用邮件功能代替pdf

时间:2017-08-18 08:15:28

标签: php email pdf

我尝试发送带邮件功能附件的邮件,我找到了一个JPG教程并尝试修改它以发送PDF,但我收到的唯一附件是ATT00001.txt

这是我的程序:

<?php
// To
$to = 'mail@test.com';

// Subject
$subject = 'Test pdf';

// random boundary
$boundary = md5(uniqid(microtime(), TRUE));

// Headers
$headers = 'From: Test <mail@test.com>'."\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";

// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";

// Text
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= 'Un message avec une pièce jointe.'."\r\n";

// Attachement
$file_name = 'test.pdf';
if (file_exists($file_name))
{
    $file_type = filetype($file_name);
    $file_size = filesize($file_name);

    $handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
    $content = fread($handle, $file_size);
    $content = chunk_split(base64_encode($content));
    $f = fclose($handle);

    $msg .= '--'.$boundary."\r\n";
    $msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
    $msg .= 'Content-transfer-encoding:base64'."\r\n";
    $msg .= $content."\r\n";
}

// End
$msg .= '--'.$boundary."\r\n";

// Function mail()
mail($to, $subject, $msg, $headers);
echo "test pdf";
?>

我希望你能帮助我,

最好的问候☻♥

0 个答案:

没有答案