環境
- Amazon Linux
- PHP7.1
経緯
社内で拡張した独自のPHP製フレームワークをxserverからAWSのEC2に移行しました。
その際に独自フレームワークはPHPのmb_send_mail
関数でメールが送信されていました。xserverでの運用時は下記のようなソースで動作していました。
php
1$rcd = mb_send_mail( $to, $subject, $body, $from_str); 2return $rcd;
しかし、xserverで度々サーバーダウンがあったため、AWSに移行したのですが、AWSの東京リージョンはSESが使えなかったので、メールサーバは引き続きxserverのメールサーバを参照するようにしました。
メール送信機能はmb_send_mail
関数からPHPMailerでSMTP経由でメールが送信出来るように以下のように変更しました。
php
1// PHPMailerのSMTP設定。xserverのメールサーバーを参照出来るように設定 2$mail = new PHPMailer(true); 3$mail->isSMTP(); 4$mail->Host = 'sv〇〇.xserver.jp'; 5$mail->SMTPAuth = true; 6$mail->Username = 'info@hoge.com'; 7$mail->Password = 'hogehoge'; 8$mail->SMTPSecure = 'ssl'; 9$mail->Port = 465; // SSLを使用しているため465に指定 10$mail->CharSet = "UTF-8"; 11$mail->Encoding = "base64"; 12 13// PHPMailerのオブジェクトに値を格納 14$mail->From = $from; // 送信元 15$mail->FromName = $from_name; // 宛名 16$mail->Subject = $subject; // メールタイトル 17$mail->Body = $body; // 本文 18$mail->addAddress($to); // 送信先 19 20// メール送信をsmtp経由に変更。 21$rcd = $mail->send(); 22return $rcd;
起きている問題
上記のソースでxserver経由でメール送信が行われているようなのですが、xserverのwebmailで確認しようとすると「ホストの接続に失敗します」と出て来てしまいます。
SMTP認証に失敗している可能性がある...?
違うサービスでEC2 + Wordpressという組み合わせで、同じくxserverのメールサーバを参照してメール送信を行なっているのですが、そちらは問題なく動いていまいした。しかし、Wordpressの方はPHPMailer
は使用しておらず、WordpressのプラグインのWP MAIL SMTPというのを使用しているので、そちらで設定は行なっています。
なので、PHPMailerでの設定が問題なのではないかと質問に至りました。
どこか問題のありそうな箇所はありますでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/08 05:06
2017/11/08 05:45
2017/11/11 09:57