【问题标题】:How do I enable Devise to send out confirmation emails on Heroku?如何让 Devise 在 Heroku 上发送确认邮件?
【发布时间】:2011-08-20 20:24:41
【问题描述】:

我在 heroku 上,所以不清楚在哪里以及如何设置它以便设计可以发送电子邮件。

其实我有两个方向要走:

  1. 我正在使用 sendgrid,所以想知道它是如何工作的。

  2. 对于我的手卷邮件,我使用 PostageApp,我更喜欢它,因为它可以让我看到我的电子邮件发生了什么。我使用 PostageApp 的方式是我的 Mailers 是 PostageApp 的邮件程序的一个类。

谢谢。

【问题讨论】:

  • 我也在使用 PostageApp,它有自己的邮件程序作为 ActionMailer 的子类。我想知道如何让 Devise 的 Mailer 使用 PostageApp。是否可以覆盖整个 devise_mailer.rb,或者只覆盖所需的方法?或者我应该直接编辑 devise_mailer.rb 吗?我有点困惑。任何帮助表示赞赏。检查此线程:groups.google.com/d/topic/plataformatec-devise/nraDpM5PDd4/…
  • 是的,我也有同样的问题...从我所读到的内容来看,这应该只是所需的方法...但我不明白为什么会这样。
  • 如果你发现了告诉我,我也会继续努力,谢谢!
  • 嗨,安吉拉,本杰明实际上已经在 PostageApp 上工作了(我想!),看看这个帖子:help.postageapp.com/discussions/support/…
  • 如果他的邮件是 DeviseMailer 的子类......我们如何继承 PostageApp 类?

标签: ruby-on-rails email devise actionmailer


【解决方案1】:

在 Rails 3 中,我在 config/environments/production.rb 中使用了以下设置

# Disable delivery errors, bad email addresses will be ignored
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => '##YOUR_PROJECTNAME##.heroku.com' }
ActionMailer::Base.smtp_settings = {
  :address    => "smtp.sendgrid.net",
  :port       => 25,
  :user_name  => ENV['SENDGRID_USERNAME'],
  :password   => ENV['SENDGRID_PASSWORD'],
  :domain     => ENV['SENDGRID_DOMAIN'],
  :authentication  => :plain
}

注意:您需要替换您的项目名称 - 但所有这些 ENV 变量都会由 heroku 自动为您填充。

【讨论】:

    【解决方案2】:

    我只是想让你们知道,在我们的一位客户的帮助下,我们已经能够将 integration instructions for Devise with Postage 添加到我们的文档中。他还告诉我们,他正在更新代码以使用较新的模块化版本的 Devise,一旦代码准备好,他会立即给我们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-18
      • 2013-10-10
      • 2016-09-26
      • 1970-01-01
      • 2016-01-23
      • 2012-04-21
      • 2013-12-09
      • 1970-01-01
      相关资源
      最近更新 更多