最近の勉強で学んだ事を、ノート代わりにまとめていきます。
主に自分の学習の流れを振り返りで残す形なので色々、省いてます。
Webエンジニアの諸先輩方からアドバイスやご指摘を頂けたらありがたいです!
mailの送信方法
今回はRailsでどうやってmailを送信しているのか仕組みを知りたいと思い、調べた事とかメモした事をまとめていきます。
(1)【Rails】Action Mailer でメール送信機能をつくる
これを元に色々と調べていきました!詳しく説明してくれているので分かりやすかったです。
手順は最初にメイラー作成する。
$ rails generate mailer ContactMailer
次に、メールを送信するときは、送信するサーバーが必要。と言うことで、設定を
config/environments/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などクラウド型のメール配送システムが台頭し自身でメールサーバーを運用しなくても簡単にメール配信できる。
-トランザクションメールサービスの中にsendgridが使いやすく管理もしやすい
-デリバリー率も良さそう
しかし、このような便利なメール運用サービスがある事で設定が簡単に行えるようになった反面、どこにハマりどころがあるのか分かりにくくなっているという問題もある。
SMTP AUTH の設定
authentication => 認証方法
login以外にも複数種類があるようです。
enable_starttls_auto => メールの送信にTLS認証を使用するか
SSL/TLS1とは、HTTPS ( Webサービスに関わるプロトコルHTTPのセキュア版 ) に使われる暗号技術であるようです。