laravelでメール送信テスト用にmailcatcher(ruby製)を試してみた。結構、環境構築が手間だから、https://mailtrap.io の方が楽かも?
https://qiita.com/miriwo/items/8b463816a5613ee263c0
近頃のメールサーバは、スパム対策がしっかりしていて、逆引きできないドメインからは、受け取ってくれない!
なので、こういうメール受信環境を構築した方がスムーズ。
1, rubyをインストール
1 2 3 4 |
sudo yum -y install ruby sudo yum -y install ruby-devel sudo yum -y install gcc-c++ sudo yum -y install sqlite-devel |
2, MailCatcherをインストール
1 2 3 4 5 6 7 |
gem install mailcatcher # 起動する mailcatcher # vagrantなら対応するIPで起動 # https://qiita.com/binthec/items/40772549b5cd1af4caf1 mailcatcher --http-ip 192.168.10.231 |
3, ブラウザからMailCatcherの受信画面をみる。IPアドレスはインストールしたサーバのもの
http://127.0.0.1:1080
http://192.168.10.231:1080/
4, laravelのsmtp設定を.envに書き込む。SMTPのポートを25から1025に変更するだけかと思いきや、fromアドレスとかも入力しないとダメだった。
1 2 3 4 |
MAIL_PORT=1025 MAIL_USERNAME=test_user MAIL_FROM_ADDRESS=test_user@from.com MAIL_FROM_NAME=test_user |
5, laravelからメール送信テスト
1 2 3 4 |
php artisan tinker Mail::raw('Test Mail', function($message) { $message->to('somebody@example.com')->subject('test'); }); # fromアドレスを指定しない&.envにもないのでエラーになっている Swift_TransportException with message 'Cannot send message without a sender address' |
結構、環境構築が手間だから、https://mailtrap.io の方が楽かも?
https://qiita.com/denshin_ROKU/items/a9d79494dfff67b64259