SMTP Error: Could not connect to SMTP host.该如何解决

WBOY
リリース: 2016-06-13 12:49:46
オリジナル
1959 人が閲覧しました

SMTP Error: Could not connect to SMTP host.
我用网页运行时正常,能发送,用命令运行php文件时报错,主要代码经检查无误,如下

function sendmail($setEmail, $setName, $body, $subject) {<br />
	require_once("PHPMail/phpmailer.php");<br />
	$mail = new PHPMailer ( true ); // the true param means it will throw exceptions on errors, which we need to catch<br />
	$mail->IsSMTP (); // telling the class to use SMTP<br />
	try {<br />
		$mail->SMTPAuth = true; // enable SMTP authentication<br />
		$mail->SMTPSecure = SBT_SSL; // sets the prefix to the servier<br />
		$mail->Host = SBT_SMTP_HOST; // sets GMAIL as the SMTP server<br />
		$mail->Port = SBT_SMTP_PORT; // set the SMTP port for the GMAIL server<br />
		$mail->Username = SBT_SMTP_USER; // GMAIL username<br />
		$mail->Password = SBT_SMTP_PASS; // GMAIL password<br />
		$mail->AddReplyTo ( SBT_MAIL_FROM, SBT_MAIL_FROM_NAME );<br />
		$mail->AddAddress ( $setEmail, $setName );<br />
		$mail->SetFrom (SBT_SMTP_USER,SBT_SMTP_USER); //sender name<br />
		$mail->Subject = $subject;		<br />
		$mail->MsgHTML ( $body );		<br />
		if (! $mail->Send ()) {//(这边没报错)<br />
			echo "Message could not be sent. <p>";<br />
			echo "Mailer Error: " . $mail->ErrorInfo;<br />
			exit ();<br />
		} <br />
	} catch ( phpmailerException $e ) {<br />
		echo $e->errorMessage (); //Pretty error messages from PHPMailer(就是这边输出错误的)<br />
	} catch ( Exception $e ) {<br />
		echo $e->getMessage (); //Boring error messages from anything else!<br />
	}<br />
}
ログイン後にコピー

问下是什么原因,目的是为了可以用linux计划任务来执行该PHP文件


------解决方案--------------------
错误代码呢?
------解决方案--------------------
php --ini 一下,看使用的ini是否和作为apache模块运行的php一致.
------解决方案--------------------
不可能,$mail->IsSMTP ();这个表明你已经设置了smtp发送了.
你现在的主要问题是找找看为什么socket连接不了smtp服务器.
防火墙也有可能.
------解决方案--------------------
wamp环境,应该是共用一份ini文件的.想再一次确定的话,php网页输出phpinfo(),看使用的ini文件,是否和这个一致.
命令:telnet smtp.gmail.com 465 ,确定能连接成功?
------解决方案--------------------
检查一下防火墙,另外再检查一下发送图片附件的代码
------解决方案--------------------
telnet都不行,肯定是你防火墙禁止了访问 
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!