我们正在尝试使用sendmail发送电子邮件。使用normall标头一切正常,但是当我们在标头中添加附件时,发件人名称就像Apache一样。这是我们的代码段
$from_email = "noreply@domain.com";
$separator = md5(time());
$eol = PHP_EOL;
$filename = "attachment.pdf";
$attachment = chunk_split(base64_encode(file_get_contents($filename)));
$text = "Hi!";
// main header (multipart mandatory)
$headers = "From:".$from_email.$eol;
$headers = "Bcc:user@domain.com".$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
// message
$message .= "--".$separator.$eol;
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$message .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$message .= $text.$eol.$eol;
// attachment
$message .= "--".$separator.$eol;
$message .= "Content-Type: application/pdf".$eol;
$message .= "Content-Transfer-Encoding: base64".$eol;
$message .= "Content-Disposition: attachment; filename=\"".$filename."\"".$eol;
$message .= $attachment.$eol;
$message .= "--".$separator."--".$eol;
$b = mail($email, "Your Issue of the STQ",$message, $headers, "-fnoreply@domain.com");
通过添加-fnoreply@domain.com,我们在电子邮件标题中得到这样的内容来自:noreply@domain.com(Apache)。不知道这个Apache的来源是什么?
这可能是什么问题。
由于
答案 0 :(得分:2)
第二行需要一个点。
$headers = "From:".$from_email.$eol;
$headers .= "Bcc:user@domain.com".$eol;
答案 1 :(得分:0)
制作如下标题:
$headers .= 'From: <webmaster@example.com>' . "\r\n";
当xyzz指向
时,也错过了第二行的点