LoginSignup
1
2

More than 3 years have passed since last update.

[Rails] メールの送信の仕組みを理解する

Posted at

最近の勉強で学んだ事を、ノート代わりにまとめていきます。
主に自分の学習の流れを振り返りで残す形なので色々、省いてます。
Webエンジニアの諸先輩方からアドバイスやご指摘を頂けたらありがたいです!

mailの送信方法

今回はRailsでどうやってmailを送信しているのか仕組みを知りたいと思い、調べた事とかメモした事をまとめていきます。

(1)【Rails】Action Mailer でメール送信機能をつくる

これを元に色々と調べていきました!詳しく説明してくれているので分かりやすかったです。

手順は最初にメイラー作成する。

$ rails generate mailer ContactMailer

次に、メールを送信するときは、送信するサーバーが必要。と言うことで、設定を
config/environments/development.rbに記述

development.rb
Rails.application.configure do
#--- 中略 ---#
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    port:                 587,
    address:              'smtp.gmail.com',
    domain:               'gmail.com',
    user_name:            '<YOUR EMAIL ADDRESS>',
    password:             '<YOUR EMAIL PASSWORD>',
    authentication:       'login',
    enable_starttls_auto: true
  }
end

こんな感じになっている
smtp_settingsがsmtpの詳細設定である

address => SMTPサーバーのホスト名
ここではgmailになっているが、それ以外にもSendGrid、Amazon SES、Mailchimp、Mandrillなどクラウド型のメール配送システムが台頭し自身でメールサーバーを運用しなくても簡単にメール配信できる。

(2)メール運用がロストテクノロジーになっていく話

(3)SendGridでメール配送を始めるためのまとめ

-トランザクションメールサービスの中にsendgridが使いやすく管理もしやすい
-デリバリー率も良さそう

しかし、このような便利なメール運用サービスがある事で設定が簡単に行えるようになった反面、どこにハマりどころがあるのか分かりにくくなっているという問題もある。

SMTP AUTH の設定
authentication => 認証方法login以外にも複数種類があるようです。

(4)SMTP AUTH の設定

enable_starttls_auto => メールの送信にTLS認証を使用するか
SSL/TLS1とは、HTTPS ( Webサービスに関わるプロトコルHTTPのセキュア版 ) に使われる暗号技術であるようです。

(4)SSL/TLSの見落とされがちな「認証」という基本機能

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2