<?php
/
// 用PHPMailer发送电子邮件精简代码
/
require_once('PHPMailer/class.phpmailer.php');
$mail = new PHPMailer(); //创建PHPMailer实例
$mail->IsSMTP(); //设置SMTP模式
$mail->Host = 'smtp.*******.com'; //SMTP服务器地址
$mail->Port = 25; //SMTP服务器端口
$mail->SMTPAuth = true; //SMTP认证
$mail->Username = 'From mail address'; //认证用户名
$mail->Password = '*************'; //认证密码
$mail->Subject = 'Mail Test Subject'; //邮件标题
$mail->Body = 'Mail Test Body'; //邮件正文
$mail->SetFrom('From mail address', 'Name'); //设置发件人
$mail->AddAddress('To mail address'); //添加收件人
$mail->Send(); //发送邮件
?>
注意事项:
1、$Host,$Port 一定要设置正确,否则会提示:SMTP Error: Could not connect to SMTP host.
2、如果$SMTPAuth设置为true,则$Username,$Password一定要设置正确,否则会提示:SMTP Error: Could not authenticate.
3、有些服务器$SMTPSecure 还要设置为 'tls'或'ssl',否则会提示:SMTP Error: Could not connect to SMTP host.
4、代码在本地运行正常,但传到网站上就会出问题,多数是与网站权限设置有关系,可以检查PHP.ini修改设置以及权限方面的设置。我遇到的问题是本地连接很多邮件服务器都正常发送邮件,但有时会被列为垃圾邮件,同样的设置代码传到网站上问题就出现了,我用的主机是Bluehost,会提示:SMTP Error: Could not connect to SMTP host。再具体点,就会发现错误码是111,Connection refused。我想应该是网站空间权限设置问题。最终解决方案是用Bluehost的邮件服务器发送邮件,解决了SMTP Error: Could not connect to SMTP host问题,并且给gmail,hotmail.163发邮件都测试正常,未被列入垃圾邮件。希望能有更好的解决方法。