ホームページ >バックエンド開発 >PHPチュートリアル >SMTP エラー: SMTP ホストに接続できませんでした。解決方法。

SMTP エラー: SMTP ホストに接続できませんでした。解決方法。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:49:462069ブラウズ

SMTP エラー: SMTP ホストに接続できませんでした。
Web ページを使用すると、コマンドを使用して 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を確認してください。一貫性がありますか? php を Apache モジュールとして実行していますか?
------解決策-----
不可能です、$ mail->IsSMTP (); これは、SMTP 送信が設定されていることを示します。
ここでの主な問題は、ソケットが smtp サーバーに接続できない理由を調べることです。
ファイアウォールを使用することも可能です。
------解決策-----
wamp 環境を共有する必要があります。 ini ファイル。再度確認したい場合は、php Web ページが phpinfo() を出力して、使用されている ini ファイルがこれと一致しているかどうかを確認します。 コマンド: telnet smtp.gmail.com 465、接続が成功すると確信していますか?

-----解決策------ --------------ファイアウォールを確認し、画像添付ファイルを送信するためのコードも確認してください

-----解決策---- -------------- --Telnet が機能しません。ファイアウォールでアクセスがブロックされている必要があります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。