Devise の SMTP 設定

投稿者: | 2019年9月11日

メール送信設定を行っていないので、パスワードリセット等の試験を行えません。ダミーのメールサーバを立てて、どのユーザ宛のメールも同一ユーザで受信できるようにし、Devise でダミーメールサーバを使用してメール関連の機能の確認が行えるようにします。

 

メールサーバの設定

まずは、ローカルサーバにメールを送受信可能な試験用のメールサーバを構築します。

話が長くなるので別エントリにまとめました。

Postfixで特定ドメイン宛をすべて特定ユーザで受信させる

今回は example.com を使用して、example.com あてのすべてのメールを user01@example.com で受信し、user01 の $HOME/Maildir/new を確認すればメールの内容を見れるようにしました。

 

Rails および Devise のメール送信設定

Devise のメール送信設定

Devise では、メール送信者の設定を行います。今回は example.com をドメインに使用するので no-reply@example.com を使用することにします。

config/initializers/devise.rb の 21行目あたりの config.mailer_sender を設定します。

ほかにも、パスワード変更時に Notification を送るか、等の設定はありますが、一旦それは放置

 

Rails のメール送信設定

次に、Rails のメール送信設定を行います。

今回は試験環境なので、config/environments/development.rb にメール送信設定を行います。production と development で分けておきたい等があれば、production は production の設定に同じような内容を書き込んでください。私は development.rb の一番最後の方に以下の内容を設定しました。

今回はローカルでメールサーバを動かしていてユーザ認証等は行っていないので上記の設定になっています。

 

動作確認

アプリケーションを再起動して、すでに登録したユーザで forget password してみてください。user01 の $HOME/Maildir/new にメールができていると思います。以下の例は、user02@example.com を作成してパスワード忘れた!を実行したときの例です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です