我一直在使用这个脚本大约2个月,一切正常。 今天我添加了与发送电子邮件相关的新功能,我注意到发送到Gmail的电子邮件存在一些问题,但仅限于gmail。 我没有收到常规消息(text / html),而是收到一个名为“no name.html”的文件,并发送了消息。
这是我的代码:
$from = "My name <example@gmail.com>";
$email = "dest@gmail.com"
$to = "";
$subject = "Subject Here";
$host = "smtp.gmail.com";
$username = "example@gmail.com";
$password = "passwordhere";
$headers = "";
$smtp = Mail::factory('smtp', array('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$body = "<div>Hello World</div>";
$to = "<" . $email . ">";
$headers = array('From' => $from,
'To' => $to,
'Subject' => $subject,
"MIME-Version" => "1.0",
"Content-Type" => "text/html charset=\"ISO-8859-1\"",
"Content-Transfer-Encoding" => "8bit");
$mail = $smtp->send($to, $headers, "<html><head><meta http-equiv=\"Content-type\"
content=\"text/html;charset=UTF-8\"></head><body>" . $body . "</body></html>");
答案 0 :(得分:1)
如果这是你问题的原因我不知道,但是:
在标题中,您有一个字符集ISO:
"Content-Type" => "text/html charset=\"ISO-8859-1\""
在html内容中,UTF-8:
<meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\">
答案 1 :(得分:0)
我使用了phpmailer,现在它工作正常。