[Web]用PHPMailer的SMTP模式发送电子邮件

 

<?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发邮件都测试正常,未被列入垃圾邮件。希望能有更好的解决方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值