小编gra*_*aos的帖子

如何使用PostMark邮件程序自定义Devise以发送密码重置电子邮件

我正在尝试使用PostMarkApp并使用Rails gems(postmark -rails,postmark -gemmail)将我系统的所有电子邮件通知集中在一个伞下.我已经成功创建了一个处理发送收据的邮件,但我无法收到忘记密码的电子邮件.我的开发日志显示Devise已发送消息,但我的收件箱中未收到任何电子邮件,并且PostMark信用额度未减少.

让Devise的邮件程序通过我的PostMark帐户发送的最佳或最简单的方法是什么?

来自config/environments/development.rb的代码段

config.action_mailer.delivery_method      = :postmark
config.action_mailer.postmark_settings    = { :api_key => "VALID_API_KEY_WAS_HERE" }
config.postmark_signature                 = VALID_POSTMARK_SIGNATURE_WAS_HERE
Run Code Online (Sandbox Code Playgroud)

我的邮件使用邮戳

class Notifier < ActionMailer::Base
  # set some sensible defaults
  default :from => MyApp::Application.config.postmark_signature

  def receipt_message(order)
    @order = order
    @billing_address = order.convert_billing_address_to_hash(order.billing_address)

    mail(:to => @order.user.email, :subject => "Your Order Receipt", :tag => 'order-receipt', :content_type => "text/html") do |format|
      format.html
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

编辑:我的问题的解决方案如下

通过让我的Notifier邮件程序扩展Devise :: Mailer并指定Devise使用我的通知程序作为邮件程序来解决它config/initializers/devise.rb

来自config/initializers/devise.rb的片段

# …
Run Code Online (Sandbox Code Playgroud)

forgot-password devise postmark ruby-on-rails-3

18
推荐指数
2
解决办法
2万
查看次数