PHP mail() 函数 ... 已发送空邮件

标签 php html email attachment

我尝试从我的服务器向收件人发送电子邮件,没问题,电子邮件已发送。 我在这封电子邮件中有 TEXT HTML,还有一个 PDF 附件...

问题是:我收到了邮件,我收到了 PDF,但是没有文本!

如果你能帮忙的话,这是我的代码:)

$filepath = '../../path/file.pdf';
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $email))
{
    $br = "\r\n";
}
else
{
    $br = "\n";
}
$message_html= "Content-Type: text/html; charset=\"ISO-8859-1\"".$br;
$message_html.= "Content-Transfer-Encoding: 8bit".$br;
$message_html.= '<!DOCTYPE html><html><head>
      <title>mytitle</title>
    </head>
    <body>
      <div>
      my content!
      </div

    </body>
</html>';

$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());

$subject = "mysubject";

$attached_file = file_get_contents($filepath);
$attached_file = chunk_split(base64_encode($attached_file));
$pos=strrpos($filepath,"/");
if($pos!==false)$file_name=substr($filepath,$pos+1);
else $file_name=$filepath;
$pos=strrpos($filepath,".");
if($pos!==false)$file_type="/".substr($filepath,$pos+1);
else $file_type="";

$attached = "\n\n". "--" .$boundary . "\nContent-Type: application".$file_type."; name=\"$file_name\"\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=\"tickets.pdf\"\r\n\n".$attached_file . "--" . $boundary . "--";

//=====HEADER
$header = "To: ".$email." ".$br;
$header.= "From: frrrrrom".$br;
$header.= "Cc: cccccccc".$br;
$header.= "Reply-to: qdfqsf".$br;
$header.= "MIME-Version: 1.0".$br;
$header.= "Content-Type: multipart/mixed;".$br." boundary=\"$boundary\"".$br;
//==========

$body = $message_html.$attached;

mail($email,$subject,$body,$header);

最佳答案

如果必须调试它,我会做的是删除附加的 PDF 并检查它是否发送了文本,然后尝试将其添加回去。

您也可以尝试使用 var_dump 将 $body 和其他变量打印到屏幕上并与我们分享,这样就可以更容易地发现问题。可能是因为您发送的内容与电子邮件发送的格式不匹配。

关于PHP mail() 函数 ... 已发送空邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24411174/

相关文章:

python - 通过 Python 2.6 发送电子邮件 (Gmail) 时出错

PYTHON:使用条目/按钮 tkinter 错误发送电子邮件

PHP - 文件未发送到数据库错误

php - Mysql 撇号和引号问题

php - 从一个函数返回多行——MySQL 数据库——PDO

html - 包装和 flex-grow : auto 的 Flexbox 问题

php - 如何在 CodeIgniter 中将上传的文件(PDF、DOC 等)显示为可下载链接

javascript - 隐藏 iframe 滚动条 : Nothing Works

javascript - Blend VS2013 缺少 HTML 选项

Xcode Server Bot不发送电子邮件报告