SMTP Error: Could not connect to SMTP host.该如何解决
程序员文章站
2022-04-18 23:35:25
...
SMTP Error: Could not connect to SMTP host.
我用网页运行时正常,能发送,用命令运行php文件时报错,主要代码经检查无误,如下
问下是什么原因,目的是为了可以用linux计划任务来执行该PHP文件
------解决方案--------------------
错误代码呢?
------解决方案--------------------
php --ini 一下,看使用的ini是否和作为apache模块运行的php一致.
------解决方案--------------------
不可能,$mail->IsSMTP ();这个表明你已经设置了smtp发送了.
你现在的主要问题是找找看为什么socket连接不了smtp服务器.
防火墙也有可能.
------解决方案--------------------
wamp环境,应该是共用一份ini文件的.想再一次确定的话,php网页输出phpinfo(),看使用的ini文件,是否和这个一致.
命令:telnet smtp.gmail.com 465 ,确定能连接成功?
------解决方案--------------------
检查一下防火墙,另外再检查一下发送图片附件的代码
------解决方案--------------------
telnet都不行,肯定是你防火墙禁止了访问
我用网页运行时正常,能发送,用命令运行php文件时报错,主要代码经检查无误,如下
function sendmail($setEmail, $setName, $body, $subject) {
require_once("PHPMail/phpmailer.php");
$mail = new PHPMailer ( true ); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP (); // telling the class to use SMTP
try {
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = SBT_SSL; // sets the prefix to the servier
$mail->Host = SBT_SMTP_HOST; // sets GMAIL as the SMTP server
$mail->Port = SBT_SMTP_PORT; // set the SMTP port for the GMAIL server
$mail->Username = SBT_SMTP_USER; // GMAIL username
$mail->Password = SBT_SMTP_PASS; // GMAIL password
$mail->AddReplyTo ( SBT_MAIL_FROM, SBT_MAIL_FROM_NAME );
$mail->AddAddress ( $setEmail, $setName );
$mail->SetFrom (SBT_SMTP_USER,SBT_SMTP_USER); //sender name
$mail->Subject = $subject;
$mail->MsgHTML ( $body );
if (! $mail->Send ()) {//(这边没报错)
echo "Message could not be sent.";
echo "Mailer Error: " . $mail->ErrorInfo;
exit ();
}
} catch ( phpmailerException $e ) {
echo $e->errorMessage (); //Pretty error messages from PHPMailer(就是这边输出错误的)
} catch ( Exception $e ) {
echo $e->getMessage (); //Boring error messages from anything else!
}
}
问下是什么原因,目的是为了可以用linux计划任务来执行该PHP文件
------解决方案--------------------
错误代码呢?
------解决方案--------------------
php --ini 一下,看使用的ini是否和作为apache模块运行的php一致.
------解决方案--------------------
不可能,$mail->IsSMTP ();这个表明你已经设置了smtp发送了.
你现在的主要问题是找找看为什么socket连接不了smtp服务器.
防火墙也有可能.
------解决方案--------------------
wamp环境,应该是共用一份ini文件的.想再一次确定的话,php网页输出phpinfo(),看使用的ini文件,是否和这个一致.
命令:telnet smtp.gmail.com 465 ,确定能连接成功?
------解决方案--------------------
检查一下防火墙,另外再检查一下发送图片附件的代码
------解决方案--------------------
telnet都不行,肯定是你防火墙禁止了访问
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
推荐阅读
-
发送邮件SMTP Error Could not connect to SMTP host. send fail的解决办法_PHP教程
-
SMTP Error: Could not connect to SMTP host
-
SMTP Error: Could not connect to SMTP host
-
发送邮件SMTP Error Could not connect to SMTP host. send fail的解决办法_PHP教程
-
发送邮件SMTP Error Could not connect to SMTP host. send fail的解决办法
-
phpmailer发送邮件报SMTP Error: Could not connect to SMTP host的解决办法
-
phpmailer发送邮件报SMTP Error: Could not connect to SMTP host的解决办法
-
SMTP Error: Could not connect to SMTP host.该如何解决
-
SMTP Error: Could not connect to SMTP host.
-
SMTP Error: Could not connect to SMTP host.
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论