PHPMailerで「SMTP ERROR: Failed to connect to server: Connection refused (111)」エラーが発生した

PHPMailerでメール送信時にエラーになりました。

https://github.com/PHPMailer/PHPMailerにあるサンプルを例にしてコードを作成することが多いと思います。カモトラも同様にしました。同ページから抜粋します。

webの情報で多いのはHostとしてgmailを使用する方法。

カモトラが実施したかったのはローカルにインストールしたsmtpを使った送信。ただ、サンプルをそのままコピペし、Hostの箇所を「localhost」に変更し、username、passwordを適切な情報に変更しました。他の内容は変更していません。

動作確認をしてみると「SMTP ERROR: Failed to connect to server: Connection refused (111)」が発生しました。

メールサーバへの接続が失敗したという内容です。

解決方法

PHPがインストールされたサーバにメールサーバが導入されており、今回はそのメールサーバで送信を行う想定でした。

こういう構成の場合、Hostの指定は不要です。

また、ポート番号は変更しておらず、SMTPAuthも使用していません。それらも不要になります。

Debug不要なのでSMTPDebug、Debugoutputも不要。

結果的には以下のようなコメントアウトが多いコードとなりました。

綺麗にすると以下のようになります。

ポートを指定しない場合は25番ポートになります。

今回は記述を削除しましたが、以下のように記述しても問題ありません。

結論

PHPMailerを使用する際、同じサーバ上のメールサーバで送信を行う際にはHostやPort、SMTPAuthの設定に注意が必要です。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする