标签:host auth name 功能 new gbk ssl pass tps
//发送邮件
public function sendMail($to,$subject=‘‘,$body=‘‘){
include(‘class.phpmailer.php‘);
include(‘class.smtp.php‘);
include(‘config.db.php‘);
$mail = new PHPMailer();
$mail->CharSet = "utf-8";//设置邮件编码
$mail->IsSMTP();//设定使用SMTP服务
$mail->SMTPDebug = 1;//启用SMTP调试功能
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = $mailconfig[‘Host‘]; //SMTP服务器
$mail->Port = $mailconfig[‘Port‘];//SMTP服务器端口号
$mail->Username = $mailconfig[‘Username‘]; //SMTP服务器用户名
$mail->Password = $mailconfig[‘Password‘]; //SMTP服务器密码
$mail->Subject = $subject;
$mail->SetFrom($mailconfig[‘Frommail‘], $mailconfig[‘Fromname‘]);
$mail->AltBody = "";
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address,‘‘);
if(!$mail->send()){
echo ‘Mailer Error: ‘.$mail->ErrorInfo;
}else{
echo "Message sent!恭喜,邮件发送成功";
}
}
可能出现的问题:
1、如果邮件内容出现中文,一定要设置charset。PHP版本高的设置GBK可能会报错:
Warning: html_entity_decode(): charset `GBK‘ not supported , 可以设置成utf-8
2、报错:01 mail from address must be same as authorization user 原因是因为Username的邮件地址和SetFrom的邮件地址不一样,设置成一样的就可以了。
3、smtp.qq.com 的端口号。一般是465或587
4、SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed 解决这个错误的方法,是你的邮箱要开启相关的配置,Password这一项写获得的邮箱验证码。
基本上就可以完美发送邮件了。。
标签:host auth name 功能 new gbk ssl pass tps
原文地址:http://www.cnblogs.com/zlx7/p/6296093.html