teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Rails と関係なく ActionMailer を使って Gmail でメール送信するコードを追記

2018/02/14 03:36

投稿

scivola
scivola

スコア2108

answer CHANGED
@@ -17,4 +17,38 @@
17
17
 
18
18
  ⑤Rails とは無関係に,[net/smtp](https://docs.ruby-lang.org/ja/2.5.0/library/net=2fsmtp.html) ライブラリーでメールを送信してみる。
19
19
 
20
- ⑥Gmail 以外の SMTP サーバーを使ってみる。
20
+ ⑥Gmail 以外の SMTP サーバーを使ってみる。
21
+
22
+ **追記**
23
+
24
+ ⑤ですが,手持ちの Gmail アカウントで試してみました。
25
+ こんな感じのコードでメール送信ができました。
26
+
27
+ ```rb
28
+ require "action_mailer"
29
+
30
+ ActionMailer::Base.delivery_method = :smtp
31
+
32
+ ActionMailer::Base.smtp_settings = {
33
+ address: "smtp.gmail.com",
34
+ port: 587,
35
+ user_name: "XXXX@gmail.com",
36
+ password: "YYYY",
37
+ domain: "gmail.com",
38
+ authentication: "plain",
39
+ enable_starttls_auto: true,
40
+ }
41
+
42
+ class TestMailer < ActionMailer::Base
43
+ def hoge
44
+ mail to: "somebody@example.com",
45
+ from: "XXXX@gmail.com",
46
+ subject: "Test mail",
47
+ body: "Hello, World!"
48
+ end
49
+ end
50
+
51
+ TestMailer.hoge.deliver_now
52
+ ```
53
+
54
+ `XXXX` のところは実際の Gmail アドレスを使います。`YYYY` は二段階認証のアプリパスワードとかいうやつ。メールの宛先も実在するものにしてください。