我在使用标题在PHP邮件中工作时遇到问题。它实际上是一个联系表单,“From”参数是必不可少的。以下是代码的一部分:
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "From: " . $name . " <".$from.">\r\n";
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errVerify ) {
$success = mail($to, $subject, $body, $headers);
// redirect to success page
if ($success){
$result='<div style="margin-top:20px" class="alert alert-success">Thank you for contacting us. We will get back to you as soon as possible.</div>';
}
else{
$result='<div style="margin-top:20px" class="alert alert-success">There was a problem.</div>';
}
}
但是,这只会打印出不成功的结果。但是当我从mail()中删除标题时,电子邮件会成功发送。
答案 0 :(得分:0)
我认为您不需要MIME版本。试试这样的事情:
$headers = "Content-Type: text/html; charset=utf-8\n";
$headers .= "From: ".$name."\n";
无论如何发送邮件比看起来更复杂,例如某些服务器只接受\ n而不是\ r \ n。使用强大的库如phpmailer或swiftmail通常要好得多。