|
我在类中所有的方件格式和编码格式都设置为UTF-8的编码时。邮件发送标题在gmail.中不会有错,内容也不会。但是在163中标题就会乱码,内容也不会。我运用转码:$mail->Subject = iconv( "utf-8", "gb2312", "adsfk哈哈。。口件,好么sdfsadf邮件格式WEB" ); 时。163邮箱中不会出现乱码。但是在gmail中就会出现乱码。页面什么的都是utf-8格式。网上找了很多地方。找不到好的方法。请各位给与指点!!
代码如下:
复制内容到剪贴板
代码:
<?php
//header("Content-Type:text/html;charset=utf-8");
//导入类文件
require_once("class.phpmailer.php");
//声明类
$mail = new PHPMailer();
// 设置使用 SMTP
$mail->IsSMTP();
// 指定的 SMTP 服务器地址
$mail->Host = "smtp.163.com";
// 设置为安全验证方式
$mail->SMTPAuth = true;
// SMTP 发邮件人的用户名
$mail->Username = "[email protected]";
// SMTP 密码
$mail->;Password = "123456";
$mail->From = "[email protected]";
//$mail->FromName = "123";
$mail->AddAddress("[email protected]");
$mail->AddAddress("[email protected]");
$mail->CharSet="utf-8";
$mail->Encoding = "base64";
//AddAddress函数格式为("收件地址","收件人")
//$mail->AddAddress("[email protected]","beijing");
//$mail->AddAddress("[email protected]","beijing"); // 可选
//可以回复的地址
//$mail->AddReplyTo("[email protected]", "TERRY2");
// 50字折行
$mail->WordWrap = 50;
// 加附件
//$mail->AddAttachment("/var/tmp/file.tar.gz");
// 附件,也可选加命名附件
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
// 设置邮件格式为 HTML
$mail->IsHTML(true);
// 标题
$mail->Subject = iconv( "utf-8", "gb2312", "测试数据" );
$mail->Subject="我的邮件";
// 内容
$mail->Body ='
<html>
<head>
<meta http-equiv="Content-Type" c>
</head>
<body>
欢迎来到我们的php在线感谢您注册为本站会员!<br /><br />
</body>
</html>
';
// 附加内容
//$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
//$mail->Send()为邮件发送函数,不成功时执行if内容
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?> |
|