web-dev-qa-db-ja.com

SMTPエラー:サーバーへの接続に失敗しました:Office365との接続が拒否されました(111)

これが頻繁に走行する道路である場合は申し訳ありません。私はこれに関する他の投稿を見ましたが、それらの中で、私が抱えている問題を解決したり、自分で解決するのに役立つ電球に点火したりしたものはありません。

これが私のコードです:

require 'PHPMailerAutoload.php';
$config = parse_ini_file('/path/to/file/config.ini', true);
$mail = new PHPMailer;
$mail->SMTPDebug = 3;
$mail->Debugoutput = 'html';
$mail->isSMTP();
$mail->Host = $config['Host']; //smtp.office365.com
$mail->SMTPAuth = true;
$mail->Username = $config['username']; //[email protected]
$mail->Password = $config['password']; //confirmed this is being passed correctly
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->From = $config['username'];
$mail->FromName = 'Website Forms';
$mail->addAddress('[email protected]', 'Some Name');
$mail->addReplyTo('[email protected]', 'SenderFirst SenderLast');
$mail->addBCC('[email protected]');
$mail->isHTML(true);
$mail->Subject = 'Contact Form Submission';
$mail->Body = 'Some html here';
$mail->AltBody = 'Some alt content here';
if(!$mail->send()) {
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    //perform success actions
    exit();
}

ドメイン、ユーザー名、パスワードがすべて正しく、正しく渡されることを確認しました。これは、起動前にローカルの開発サーバーで機能したことに注意してください。サイトがホスティングアカウント(Hostgator)に移動された後、サイトは機能しなくなりました。サーバーでポート587が開いていることをHGで確認しました。

ここに私が見ているエラーメッセージがあります:

Connection: opening to smtp.office365.com:587, t=10, opt=array ()
SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed.
Message could not be sent.Mailer Error: SMTP connect() failed.

提供できるヘルプは、たとえそれが私たちの実稼働環境では機能しないのかを説明する記事へのリンクにすぎない場合でも、非常に高く評価されています。

8
Neal Williams

答えはどれもうまくいきませんでした。数時間後、問題が見つかりましたが、Cpanel/WHMでのみ機能します

  • WHMにログインします。
  • プラグインオプション内のConfigServerセキュリティとファイアウォールに移動します。
  • ファイアウォール設定をクリックします
  • SMTP設定でフィルタ
  • SMTP_ALLOWUSERオプションを探し、companで区切られたCpanelアカウントのユーザー名を追加します。
  • ファイアウォールを再起動します。

WHMにアクセスできない場合は、プロバイダーに問い合わせてください。

6
Juan Angel

PHP 5.5およびphpmailerでは、ポート番号にバグがあります。ポート番号を設定しないでください(mail-> port = ....)これにより、エラーが発生します: "smtpエラーが接続に失敗しましたサーバーへの接続が拒否されました111 "

デフォルトのポート番号25のままにしておくと、正常に機能します。

2
vundek

CPanel/WHMを使用している場合は、以下を確認する必要があります。

送信SMTPをroot、exim、およびmailmanに制限する(FKA SMTP Tweak)-オフに設定されています。 (これは、「サーバー構成"微調整設定」(検索:SMTP)内で編集できます)

ConfigServerのセキュリティとファイアウォールも有効にしている場合は、ファイアウォールの設定を編集する必要があります。 「ファイアウォール設定」をクリックし、「SMTP設定でフィルタ」を選択します。次に、SMTP_ALLOWUSERオプションを探し、cPanelアカウントのユーザー名をコマ区切りで追加します。 [変更]をクリックして、ファイアウォールを再起動します。

0
DigitalFlare

HGがサーバーのファイアウォールの設定を変更する必要があることがわかりました。彼らがそれをしたら、それはうまくいきました。したがって、同様の問題が発生している場合は、すべてが正しいことを確認することをお勧めしますが、ホスティングプロバイダーに確認して、彼らの側で何をする必要があるかを確認してください。

0
Neal Williams