문제

I've read through the docs and still am unclear on how to actually use these templates in mandrill.

Currently I have a rails app with the standard Rails mailers (located in: App > views > welcome_mailer > welcome_email.html.erb) being sent through the Mandrill SMTP setup. This is working fine.

Now, I have a template in Mandrill ready to go, now what?

How do I actually use this template, do I need to adjust the code on my app to make a different call, or do I need to do something on the mandrill dashboard to tell it to use the new template instead of the rails version being sent now.

How do I actually use this template?

Thank you in advance.

도움이 되었습니까?

해결책

You can use mandrill_mailer gem, inherit your mailer from MandrillMailer::TemplateMailer and then send it as usual InvitationMailer.invite(invitation).deliver.

다른 팁

Without any gems :

To use mandrill template you first need to create one in your mandrill account and then in your mailer add a correct header which tells the name of the template. Then mandrill will by magic automatically call that template.

Example:

# app/mailers
class CardMailer < ActionMailer::Base
  default from: "admin@domain.ch"

  def welcome(card)
    mail to:      card.responsable.email,
         from:    "\"Andrey\" <admin@domain.ch>",
         subject: 'Welcome in my website'
    headers['X-MC-MergeVars'] = "{\"TYPE\":\"#{card.card_type.name}\"}" # variables
    headers['X-MC-Template'] = "welcome"  # template
    headers['X-MC-AutoText'] = 1 # generate text version
    headers['X-MC-InlineCSS'] = "true" # inline css
  end
end

In my case, it uses my "welcome" template. Just use the name of your mandrill template.

As you can see, there are many other headers available. See the full-list here.

Note : even if you don't use rails template any more, you still need one in your view.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top