Mandrill设置Ruby on Rails

时间:2014-12-11 11:46:37

标签: ruby-on-rails ruby ruby-on-rails-3 mailchimp mandrill

我正在尝试设置Mandrill API来发送交易电子邮件。首先,我只想向刚刚成功注册的新用户发送欢迎电子邮件。一旦我完成了,我应该能够找出任何其他额外的电子邮件。我已经编了几个代码,但说实话,我并不完全确定我做得对!代码在测试期间当前不起作用,这实在令人讨厌。

下面包含所有代码,欢迎所有输入:)

我安装了以下两个宝石。

  • 'mandrill-api'
  • 'mandrill_mailer'

我不确定在哪里放置以下代码,gem的文档在config / initializers https://github.com/renz45/mandrill_mailer中说mail.rb(在'Usage'下查看)

ActionMailer::Base.smtp_settings = {
    :address   => "smtp.mandrillapp.com",
    :port      => 587,
    :user_name => ENV['MANDRILL_USERNAME'],
    :password  => ENV['MANDRILL_API_KEY'],
    :domain    => 'heroku.com'
  }
ActionMailer::Base.delivery_method = :smtp

MandrillMailer.configure do |config|
  config.api_key = ENV['MANDRILL_API_KEY']
end

我不会使用Action Mailer所以我想我只会改变

ActionMailer::Base.smtp_settings 

MandrillMailer::TemplateMailer.smtp_settings

???

我在app / mailers下有一个transactional_mailer.rb文件

class TransactionalMailer < MandrillMailer::TemplateMailer
  default from: 'hello@randomemail.com'

  def welcome(user)
    mandrill_mail template: 'welcome_template',
      subject: "hello",
      to: {email: user.email, name: user.name},
      vars: {
        'USER_IDENTIFIER' => user.email,
        'LIST_COMPANY' => 'Your Company'
      },
      important: true,
      inline_css: true,
      async: true
  end
end

应用程序当前在注册控制器中调用该方法

 MandrillMailer.welcome(resource).deliver

应该是

TransactionalMailer.welcome(@user).deliver

???

在本地服务器(rails s)上进行测试期间无法正常工作我不熟悉编码并尝试解决原因。

感谢所有帮助!

谢谢:)

0 个答案:

没有答案