思うようにメール設定がうまくいかず時間がかかったので、同じ環境の方がさくっと対処できるように手順を残しておきます。
#対象の方
herokuにFuelPHPを使ったwebサービスをデプロイ済みでyahooメール設定がうまくいかない方。
※MacOS環境での方法を記載しています。
#手順
5ステップで解説していきます。
1.config.phpにemailを追加
2.email.phpを..fuel/app/configに複製
3.email.phpを編集
4.yahooメールの設定変更
5.email.phpのnewlineを編集(それでもエラーが出る場合)
##1.config.phpにemailを追加
fuel/app/config/config.phpのpackages=>array()にemailを追加
※Emailパッケージ読み込んでEmailクラスを利用できるようにします。
'packages' => array( //
'email', //新規で追加
),
##2.email.phpを..fuel/app/configに複製
/fuel/packages/email/config/email.phpをコピーし、/fuel/app/configディレクトリ内にemail.phpを複製します。
※mail設定の編集はこちらで行なっていきます。
##3.email.phpを編集
複製したemail.phpを下記のように編集していきましょう。
...
/**
* Mail driver (mail, smtp, sendmail, noop)
*/
'driver' => 'smtp', //smtpに変更
...
'smtp' => array(
'host' => 'smtp.mail.yahoo.co.jp', //変更
'port' => 587, //変更
'username' => 'yahooメールのログインID', //変更
'password' => 'yahooメールのパスワード', //変更
'timeout' => 5,
'starttls' => false,
'options' => array(
),
),
...
設定が気になる方はyahoo公式サイト(メールソフトやモバイル端末での設定)にも解説してあるので参考にしてみてください。
##4.yahooメールの設定変更
ここまで設定して下記の認証エラーが出る場合はyahooメール側の設定を確認してみましょう。
先ほどと同じyahoo公式サイト(Yahoo!メールでの設定)に解説してあるので確認してみましょう。
※「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」にチェックを入れ、「IMAP」「POP」「SMTP」をそれぞれ「有効にする」を選択できていればOKです。
私はここに行き着くのに結構時間が掛かってしましました笑
##5.email.phpのnewlineを編集(それでもエラーが出る場合)
4まで設定してメール送信できた方は見なくて良いですが、私の場合は下記エラーが出ました。
色々と試してみましたが、fuel/app/config/email.phpのnewlineを変更することでメール送信できるようになりました。
/**
* Newline
*/
'newline' => "\r\n", //"\n"から変更
gmailの場合ですが、公式アカウントにも記載ありました。
それでは最後まで読んで頂きありがとうございました。
参考になった方はLGTMをポチッと押していただけると励みになります。