Ich versuche Rails 4 mit meinen Devise und manrill/mailchimp (fusioniert) Konten einzurichten.Rails 4 Mailchimp Mandrill mit Devise
Ich möchte eine Bestätigungs-E-Mail von meinem Mailchimp/Mandrill-Konto senden.
Meine Heroku Logs zeigen diese Meldung:
MandrillDeviseMailer#confirmation_instructions: processed outbound mail in 504.2ms
Allerdings erhalte ich keine E-Mail.
Ich kann nicht herausfinden, wie ich meine code/mandrill/mailchimp Konten zu arbeiten.
Ich habe einen Mailer wie folgt:
class MandrillDeviseMailer < Devise::Mailer
default from: "[email protected]"
require "mandrill"
def confirmation_instructions(record, token, opts={})
# code to be added here later
options = {
:subject => 'Confirm your account',
:email => record.email,
:name => record.formal_name,
:global_merge_vars => [
{
name: 'email',
content: record.email
},
{
name: 'confirmation_link',
content: record.confirmation_token
}
],
:template => 'devise-confirmation-instructions'
}
mandrill_send(options)
end
def reset_password_instructions(record, token, opts={})
options = {
:subject => "Reset your password",
:email => record.email,
:global_merge_vars => [
{
name: "password_reset_link",
content: "http://www.testhub.com/users/password/edit?reset_password_token=#{token}"
},
{
name: "PASSWORD_RESET_REQUEST_FROM",
content: record.full_name
}
],
:template => "Forgot Password"
}
mandrill_send options
end
def unlock_instructions(record, token, opts={})
# code to be added here later
end
def mandrill_send(opts={})
message = {
:subject=> "#{opts[:subject]}",
:from_name=> "Welcome aboard",
:from_email=>ENV["OD_WELCOME"],
:to=>
[{"name"=>"#{opts[:formal_name]}",
"email"=>"#{opts[:email]}",
"type"=>"to"}],
:global_merge_vars => opts[:global_merge_vars]
}
sending = MANDRILL.messages.send_template opts[:template], [], message
rescue Mandrill::Error => e
Rails.logger.debug("#{e.class}: #{e.message}")
raise
end
end
ich mit meiner production.rb Setup:
config.action_mailer.smtp_settings = {
:port => "587",
:address => "smtp.mandrillapp.com",
:user_name => ENV['OD_WELCOME'],
:password => ENV['ROD_WELCOME'],
:domain => "testhub.com",
:authentication => :plain }
ich kann nicht herausfinden, wie meine E-Mail-Vorlagen in Mandrill/MailChimp einrichten damit diese Variablen funktionieren.
Ich habe verschiedene Varianten ausprobiert, aber anstatt die Variable mit der dynamischen Eingabe zu füllen, wird die E-Mail mit Pipes und Ruby-Tags und Text gesendet, der als Code erfüllt werden sollte.
In meiner MailChimp Vorlage, die ich habe:
Hallo <% = @ user.formal_name%>
Sie können Ihr Konto E-Mail über den unten stehenden Link bestätigen:
Das kommt durch als Text, wie er oben erscheint. Ich habe auch versucht, die Ruby Tags innerhalb || Tags, aber diese nur ausdrucken.
Weiß jemand, wie man das einrichtet?
Weitere Versuch
ich auch meine Mail Chimp Vorlage versucht haben, Einstellung zu verwenden fusionieren Schlagwörter als:
| password_reset_link |
Als ich dies versuchen, in der Produktion, es eine E-Mail mit diesem im Körper gedruckt sendet:
<a href="*|password_reset_link|*">Change my password </a>
Sie sagen, Sie die Nachricht nicht erhalten haben, aber die Nachricht gesendet wurde? Sie sollten die Mandrill-Konsole überprüfen, um zu sehen, ob Nachrichten gesendet werden. Sie gehen möglicherweise in Ihren Spam-Ordner. – TooMuchPete