Tag: mandrill

通过Rails将对象作为变量发送到Mandrill

我正在将一个电子邮件模板从Rails转换为Mandrill,其内容需要相当数量的数据,其中一些数据通过多个关联嵌套。 因此,我想通过Mandrill的global_merge_vars传递对象,例如(简化)以下: [{ ‘name’=>’order’, ‘content’=> @order.to_json(include: { user: { only: :first_name } }, methods: [:method1, :method2, :method3, :method4]) }] 它通过orderr变量下的mandrill模板,类似于以下内容: {“id”:11,”number”:”xxxx”,”item_total”:”112.0″… “user”:{“first_name”:”Steve”},”method1″:”£0.00″,”method2″:”£112.00″, “method3″:”£112.00″,”method4″:”£0.00”} 问题是,我无法访问order任何内容(使用Handlebars),即{{order.id}} , {{order[‘id’]}}等不会工作。 将数据分解为大量变量不是一种选择,因为一些元素是集合及其关联。 我相信问题就出现了,因为在为Mandrill编译变量时所有内容都是字符串化的 – 因此打破了JSON对象 – 下面是一段发送的内容: “global_merge_vars”=>[{“name”=>”order”, “content”=>”{\”id\”:11, \”number\”:\”xxxx\”,\”item_total\”:\”112.0\”… 我似乎无法找到任何处理这个的文档/建议,所以我想知道是否可以传递这种性质的数据,如果是这样,如何正确传递它以便能够访问Mandrill中的对象模板。 任何建议非常感谢! 史蒂夫。

Rails 4,Devise和Mandrill电子邮件

我正在尝试在Rails 4中制作应用程序。 在过去的3年里,我一直在努力弄清楚设计/ omniauth(我仍然试图让它发挥作用)。 当我试图找到通过这个问题的意愿时,撇开主要问题,我试图用Mandrill设置电子邮件。 我找到了这个教程,我试图遵循这个教程: https : //nvisium.com/blog/2014/10/08/mandrill-devise-and-mailchimp-templates/ 我有一个叫做mandrill_devise_mailer.rb的邮件程序 class MandrillDeviseMailer “Reset your password”, :email => record.email, :global_merge_vars => [ { name: “password_reset_link”, # content: “http://www.example.com/users/password/edit?reset_password_token=#{token}” content: “http://www.cr.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 […]

如何使用rspec测试mandrill api

所以我的客户报告说很多电子邮件都是错误的人,我想编写一些function测试来查找并确保他们收到的电子邮件及其在我的规范中说的内容。 我有mandrill_mailer使用mandril api,在它发出之前我想知道消息是什么。 例如。 创建一个新用户帐户 – >创建用户,然后发送一封欢迎电子邮件。 在设计中,它调用RegistrationMailer.new_registration(resource).deliver,然后发送电子邮件给用户: def new_registration(user) user = User.find_by_email(user[“email”]) mandrill_mail template: ‘new-registration’, subject: ‘Welcome to ContentBlvd!’, to: { email: user[“email”], name: user[“full_name”] }, vars: { ‘first_name’ => user[“full_name”], ‘unsubscribe’ => “#{CONFIG[:protocol]}#{CONFIG[:host]}/unsubscribe?email=#{user.email}” } 结束 在我的邮件程序中,如何测试此邮件对象? 我尝试了ActionMailer :: Base.deliveries,但它返回nil(因为我使用的是mandrill邮件程序…)所以我试过 – MandrillMailer :: TemplateMailer.message但是没有运气….感谢您的帮助。

Mandrill API模板

我正在使用Mandrill的Ruby API Gem并使用以下简单模板进行测试: testastic 按照Heroku指南中的示例,我有以下Ruby代码: require ‘mandrill’ m = Mandrill::API.new rendered = m.templates.render ‘test-template’, [{:header => ‘some header text’, :main_section => ‘The main content block’, :footer => ‘asdf’}] mail(:to => “Jayson Lane “, :subject => “Test Email”) do |format| format.html { rendered[‘html’] } #format.text { render “test” } end 这很好用,电子邮件发送我的模板很好,但是,它不会取代模板mc:edit变量。 我错过了什么吗?