我希望将Mailer of Rails 4与Gmail的smtp配置结合使用 在我的开发文件中,我设置了:
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => "mymail@gmail.com",
:password => "mygmailpassword",
:authentication => :plain,
:enable_starttls_auto => true
}
但我没有收到任何邮件。 这是终端的输出:
To: antonioni.giovanni9@gmail.com
Message-ID: <55ffb56da9e91_aa929362303435c@pc-rails.mail>
Subject: Conferma ordine
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_55ffb56da807b_aa92936230342e1";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_55ffb56da807b_aa92936230342e1
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
所以我的应用程序尝试发送电子邮件,但这不会出现在我的Gmail控制台上。 有什么想法解决这个问题吗?
答案 0 :(得分:4)
Gmail smtp服务需要APP密码才能从Gmail帐户发送邮件(有关详细信息,请访问此link)。生成密码后,您必须更改开发文件的配置:
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => "mymail@gmail.com",
:password => "GENERATEDPASSWORD",
:authentication => :plain,
:enable_starttls_auto => true
}
然后重启服务器。
为了捕捉我设置的错误:config.action_mailer.raise_delivery_errors = true
(感谢Dipak的提示)
答案 1 :(得分:0)