Ruby on Rails:如何配置设计邮件程序?
Posted
技术标签:
【中文标题】Ruby on Rails:如何配置设计邮件程序?【英文标题】:Ruby on Rails: How to Configure the Devise Mailer? 【发布时间】:2017-07-07 07:22:46 【问题描述】:我在 Ruby on Rails 上做了一个应用程序。我正在使用设计,我需要使用可恢复密码功能。 我在 development.rb 上找到了这些配置:
config.action_mailer.default_url_options = :host => 'localhost:3000'
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings =
address: "smtp.gmail.com",
port: 2525,
domain: "gmail.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: "MY_EMAIL",
password: "MY_PASS"
当我测试它时,它看起来不错,它不会在应用程序上引发任何异常,但电子邮件永远不会到来。请问,我该如何配置?
【问题讨论】:
您有 gmail 的 Google Apps 帐户吗?如果没有,发送这样的电子邮件最终会进入垃圾邮件文件夹。 您必须启用 google 帐户才能发送邮件 我遇到了同样的问题,即在使用 Google Mail 开发时无法接收来自 Devise 的电子邮件。我改用 SendGrid 并且确实收到了电子邮件。如果您真的不需要获取实际的电子邮件。您只需查看 Rails Server 日志即可查看电子邮件。 【参考方案1】:对于在本地使用,我建议使用 letter_opener 之类的东西。
对于部署应用程序,我建议使用 Sendgrid 之类的服务,它有一个免费层,对于小型应用程序来说已经足够了。
如果您坚持使用 GMail 处理电子邮件,请尝试使用 TLS:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings =
address: "smtp.gmail.com",
domain: "gmail.com",
port: 587,
user_name: "jorge@example.org",
password: "your_password",
authentication: 'plain',
enable_starttls_auto: true
【讨论】:
是的,我确实在这些地方使用了我的电子邮件和我的通行证,但它根本不起作用。 我已经用一种使用 GMail 的方式更新了答案,希望对您有所帮助。【参考方案2】:偶然发现了这个较旧的问题,并认为我会在此处提供当前答案。如果您出于任何原因(原型设计、开发等 - 没有判断)尝试在您的 Devise Rails 应用程序中使用 Gmail 帐户,Pedro 的答案是正确的,但有 1 个例外。 SMTP 服务器的密码不是您的用户密码。这在过去可能没问题,但现在您必须生成一个与用户密码分开的新应用密码。
可在此处的 Google 支持网站上找到路线:https://support.google.com/accounts/answer/185833?hl=en
【讨论】:
以上是关于Ruby on Rails:如何配置设计邮件程序?的主要内容,如果未能解决你的问题,请参考以下文章
在 ruby on rails 3 中通过电子邮件创建订阅
mailchimp 邮件程序不能在 ruby on rails 中工作
Ruby on rails邮件程序+ Mailgun标记为垃圾邮件
Ruby on Rails:延迟的作业无法使用邮件程序并给出路由错误