【问题标题】:Rails 3 - sendgrid setup to support deviseRails 3 - sendgrid 设置以支持设计
【发布时间】:2010-11-08 05:21:46
【问题描述】:

我正在尝试使用 Devise 在我的 Rails 3 应用程序上运行 sendgrid,以便 devise 可以发送注册电子邮件等。

我添加了以下内容,config/setup_mail.rb:

ActionMailer::Base.smtp_settings = {
  :address => "smtp.sendgrid.net",
  :port => '25',
  :domain => "XXXXXXXXX.com",
  :authentication => :plain,
  :user_name => "XXXXXXXXXXX@gmail.com",
  :password => "XXXXXXXXXX"
}

Rails + Devise 发送注册电子邮件还不够吗?还是我需要别的东西或某种宝石?

日志显示正在生成的电子邮件,但我在日志中没有看到任何关于 MAIL 发送成功或出错的信息。我的 sendgrid 帐户仍然显示已发送 0/200 封电子邮件。

在 Rails 中是否有更好的方法来查看它尝试发送电子邮件时发生了什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 devise sendgrid


    【解决方案1】:

    您可以删除已有的设置。

    heroku addons:create sendgrid:free
    

    这是您使用 heroku 配置电子邮件所需的唯一代码。

    确保您已设置主机链接,我认为您已设置,因为它会导致崩溃,但如果您没有:

    config.action_mailer.default_url_options = { :host => 'myapp.heroku.com' }
    

    实际上,最后一个留置权在 rails3 上是不同的,所以请注意 :)

    “config”行需要添加到您的“production.rb”文件中。

    【讨论】:

    • 问题是我不想用 Heroku 设置它,而是自己直接使用 sendgrig,因为我需要它在本地工作。
    • 总是必须是特别的:)。抱歉,我最近没有亲自处理的变量太多。
    • 我唯一能想到的就是在你的default_url_options 上设置它为sendgrid url smtp.sendgrid.net
    • @AnApprentice 你找到解决方案了吗?我正在尝试做和你一样的事情。
    【解决方案2】:

    我自己也在寻找相同的答案。在 intializers/devise.rb 我读到:

      # Configure the class responsible to send e-mails.
      # config.mailer = "Devise::Mailer"
    

    我想知道是否必须告诉 Devise 使用 Actionmailer。

    【讨论】:

    • 不是这样的。我使用 JSON 查询来检查 sendgrid 凭据。 sendgrid.com/api/… 效果很好。当我使用忘记密码路由时,我似乎可以收到一封来自设计的电子邮件,但当我使用注册表单时却没有
    • 好的,我的问题从来不是没有从heroku发送电子邮件到sendgrid,我的问题是我没有将设计模型选项设置为包括:confirmable(但我有:recoverable,这是为什么我的恢复电子邮件有效)。
    猜你喜欢
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 2011-05-30
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    相关资源
    最近更新 更多