Rails 4 个使用 gmail smtp 的邮件程序
Rails 4 mailers with gmail smtp
我想使用 Rails 4 的 Mailer 和 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 仪表板上。
有解决这个问题的想法吗?
Gmail smtp 服务需要应用程序密码才能从 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 的提示)
您还需要更改此:https://www.google.com/settings/security/lesssecureapps
我想使用 Rails 4 的 Mailer 和 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 仪表板上。 有解决这个问题的想法吗?
Gmail smtp 服务需要应用程序密码才能从 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 的提示)
您还需要更改此:https://www.google.com/settings/security/lesssecureapps