phpmailer 发送邮件国外的邮箱一直提示Could not connect to SMTP host
Fatalerror:Uncaughtexception'phpmailerException'withmessage'SMTPError:Couldnotconnect...
Fatal error: Uncaught exception 'phpmailerException' with message 'SMTP Error: Could not connect to SMTP host.' in C:\phpStudy\PHPTutorial\WWW\phpmailer\class.phpmailer.php:820 Stack trace: #0 C:\phpStudy\PHPTutorial\WWW\phpmailer\class.phpmailer.php(705): PHPMailer->SmtpConnect() #1 C:\phpStudy\PHPTutorial\WWW\phpmailer\class.phpmailer.php(576): PHPMailer->SmtpSend('Date: Fri, 28 S...', '123456\n') #2 C:\phpStudy\PHPTutorial\WWW\phpmailer\phpmailer.php(25): PHPMailer->Send() #3 {main} thrown in C:\phpStudy\PHPTutorial\WWW\phpmailer\class.phpmailer.php on line 820
致命错误:未捕获的异常“phpmailerException”,消息“SMTP错误:无法连接到SMTP主机”。在C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php:820堆栈跟踪:#0 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php(705):PHPMailer-> SmtpConnect() #1 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php(576):PHPMailer-> SmtpSend('Date:Fri,28 S ......','123456 \ n')#2 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ phpmailer.php(25):PHPMailer->发送()#3 {main} 在第820行的C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php中引发 展开
致命错误:未捕获的异常“phpmailerException”,消息“SMTP错误:无法连接到SMTP主机”。在C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php:820堆栈跟踪:#0 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php(705):PHPMailer-> SmtpConnect() #1 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php(576):PHPMailer-> SmtpSend('Date:Fri,28 S ......','123456 \ n')#2 C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ phpmailer.php(25):PHPMailer->发送()#3 {main} 在第820行的C:\ phpStudy \ PHPTutorial \ WWW \ phpmailer \ class.phpmailer.php中引发 展开
1个回答
展开全部
出现这种情况一般有两种原因:
1.无法发出请求,本地设置问题
2.连接被stmp服务器拒绝,可能账号出问题,比如发信量大且频繁
第二种情况比较好解决,换一个登陆账号或者登陆IP就可以了。
针对第一种情况,执行以下脚本测试
[CODE_LITE]<?php
$fp = fsockopen("smtp.163.com",25,&$errno,&$errstr,60);
if(! $fp)
echo '$errstr ($errno) <br> \n ';
else
echo 'ok <br> \n ';
?>[/CODE_LITE]
如果报错:Warning: fsockopen() has been disabled for security reasons。
说明fsockopen函数被禁用,PHPmailer发送Email依赖此函数。
1.无法发出请求,本地设置问题
2.连接被stmp服务器拒绝,可能账号出问题,比如发信量大且频繁
第二种情况比较好解决,换一个登陆账号或者登陆IP就可以了。
针对第一种情况,执行以下脚本测试
[CODE_LITE]<?php
$fp = fsockopen("smtp.163.com",25,&$errno,&$errstr,60);
if(! $fp)
echo '$errstr ($errno) <br> \n ';
else
echo 'ok <br> \n ';
?>[/CODE_LITE]
如果报错:Warning: fsockopen() has been disabled for security reasons。
说明fsockopen函数被禁用,PHPmailer发送Email依赖此函数。
追问
国外的邮箱客户那边测试了,是可以发送邮件的,我更换了163邮箱,代码相同邮箱可以发送邮件,但是国外的邮箱就不可以.
另外运行了脚本之后提示:Fatal error: Call-time pass-by-reference has been removed in C:\phpStudy\PHPTutorial\WWW\phpmailer\ceshi.php on line 2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询