【问题标题】:Using Ruby/rails variables in a mandrill template在 mandrill 模板中使用 Ruby/rails 变量
【发布时间】:2013-12-24 11:01:43
【问题描述】:

是否可以在 Mandrill 模板上使用您的 rails 变量?

我有一个应用程序,用户可以通过电子邮件收到有关某些操作的通知,现在它是通过操作邮件程序完成的,而不使用 Mandrill,所以它只是一封没有样式的文本电子邮件。显然,我更喜欢使用山魈模板我已经必须通过变量添加一些动态内容。我看到很多公司在电子邮件通知中使用变量,所以我认为这是可能的,我只是没有找到很多有用的文章解释它是如何完成的。如果您可以将我指向有用的文章或仅回答问题,那将非常有帮助!现在,我已经使用 Mailchimp 制作了模板,然后将其发送到 mandrill,它就可以使用了。我的应用程序已经具有 Mandrill 配置并且可以正常工作(我将它用于不包含变量的静态电子邮件)。我真正需要做的就是配置它以允许我使用变量。

提前致谢。节日快乐,战鹰!

【问题讨论】:

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


    【解决方案1】:

    一种方法是在 Mandrill 模板中使用merge tags,然后使用global_merge_vars(所有收件人)或merge_vars(每个收件人)消息选项来填充模板。

    这不是很令人兴奋的方法,但效果很好。

    简而言之,解决办法是把标签像:

    *|MYTAG|*
    

    模板中的任何位置。然后,发送调用只需要填充正确的选项。所有参与者都在这里:

    mandrill = Mandrill::API.new('my_api_key')
    template_name = "my-template-name"
    template_content = [] # See doc, not related to the issue at hand.
    message = {
        to: [{email: 'smith@example.com'}],
        headers: {"Reply-To" => "noreply@example.com"},
        merge: true,
        global_merge_vars: [
          {name: 'mytag', content: "Hello, World"}
        ]
    }
    mandrill.messages.send_template(template_name, template_content, message)
    

    这应该发送一封电子邮件,其中标签替换为相应的内容(Hello, World 这里)。

    【讨论】:

      猜你喜欢
      • 2013-06-28
      • 2013-06-07
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 2012-06-09
      • 2013-02-12
      • 2015-12-11
      相关资源
      最近更新 更多