PHP邮件用html而不是php发送文件(Gmail)

时间:2014-03-21 12:28:41

标签: php html email attachment

我一直在使用这个脚本大约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>");

2 个答案:

答案 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,现在它工作正常。