web-dev-qa-db-ja.com

PHPMailerエラー:SMTP->エラー:サーバーへの接続に失敗しました

私は午前中ずっとグーグルしようとします、そして私は今Stackoverflowが必要だと思います!

メール(hotmailからgmail)を送信する簡単なスクリプトを作成しましたが、次のエラーが発生します。

SMTP->エラー:サーバーへの接続に失敗しました:接続されたパーティが一定期間後に正しく応答しなかったために接続の試行に失敗したか、接続されたホストが応答しなかったために接続の確立に失敗しました。 (10060)SMTP Connect()が失敗しました。エラー

これはコードです:

<?php
require_once("../includes/phpMailer/class.phpMailer.php");
require_once("../includes/phpMailer/class.smtp.php");


$to_name = "RECEIVER NAME";
$to = "[email protected]";


$subject = "Mail test at " . strftime("%T", time());

$message = "This is a test message";
$message = wordwrap($message, 70);


$from_name = "MY NAME";
$from = "[email protected]";


$mail = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->Host = "smtp.live.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "MY USERNAME (hotmail)";
$mail->Password = "MY PASSWORD (hotmail)";


$mail->FromName = $from_name;
$mail->From = $from;
$mail->AddAddress($to, $to_name);
$mail->Subject = $subject;
$mail->Body = $message;

$result = $mail->Send();

echo $result ? 'Sent' : 'Error';

?>

別の情報は、標準のmail()関数でさえ機能しなかったことであり、php情報をチェックするとこれが見つかりました:

sendmail_from-MY PROPER MAIL(hotmail)

sendmail_path-値なし

SMTP-ローカルホスト

smtp_port-25

ありがとうございました!!

6
FrancescoMussi

Smtp.live.comでポート25がブロックされていると思います。ここからもsmtp.live.com:25に接続できません。代わりに、TLSでポート587を使用してみてください。したがって、次のようになります。

$mail->Port = 587;
$mail->SMTPSecure = 'tls';   
5
mti2935

私はこの問題の解決策を見つけました、これを試してください

PHPがopenSSL拡張機能を使用しているかどうかを確認してください...!

  1. インストールしたphpフォルダーからphp.iniを編集します
  2. extension = php_openssl.dllを検索します
  3. イニシャルは次のようになります; extension = php_openssl.dll
  4. ';'を削除しますそしてそれはこのようになりますextension = php_openssl.dll
  5. extension = php_openssl.dllが見つからない場合は、この行を追加してくださいextension = php_openssl.dll
  6. 次に、Xampp、LAMP、またはApacheサーバーを再起動します(使用しているサーバーによって異なります)。

この方法で問題が解決することを願っています...

2
Sohail xIN3N

サポートされているポートを確認することをお勧めします。たとえば、私のホストはポート25、3535、80を介してSMTPをサポートしています。
ポート80の使用は私のために働いた

0
CodesmithX