首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mandrill迁移到SparkPost -- Rails API

从Mandrill迁移到SparkPost -- Rails API
EN

Stack Overflow用户
提问于 2016-04-23 00:56:07
回答 1查看 343关注 0票数 0

我正在从Mandrill迁移到SparkPost,并有一个Rails后端。

我目前的数据结构如下--

代码语言:javascript
复制
message = {
  subject: "Welcome",
  merge_vars: [{
    rcpt: user.email,
    vars: email_vars(user)
  }],
  to:[{
    email: user.email,
    name: user.name
  }],
  track_clicks: true,
  track_opens: true,
  inline_css: true,
}

这会发出回应--

代码语言:javascript
复制
m = Mandrill::API.new
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message

我需要更新JSON数据结构吗?一旦JSON是好的,如何使用SparkPost将值传递给特定的模板?

我尝试了以下方法--

代码语言:javascript
复制
m = SparkPost::Client.new()
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message

但我也看到了--

代码语言:javascript
复制
host = 'https://api.sparkpost.com'

SparkPost::Request.request("#{host}/api/v1/transmissions", API_KEY, {
  recipients: [
    {
      address: { email: user.email },
      substitution_data: {
        first_name: user.name,
        email: user.email
      }
    }
  ],
  content: {
    template_id: 'email-confirmation'
  },
  substitution_data: {
    name: user.name,
    email: user.email
  }
})

感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-23 01:39:05

如果您使用的是官方的gem,那么它有一个名为send_payload的方便方法,您可以使用它来发送准备好的有效负载。

substitution_datarecipients集合中是每个收件人的替换。

例如,我遵循模板。

要使用此模板发送,这是我的完整代码

代码语言:javascript
复制
sp = SparkPost::Client.new() # pass api key or get api key from ENV

payload  = {
  recipients: [
    {
      address: { email: 'RECIPIENT1' },
      substitution_data: {
        name: 'User one',
        username: 'userone'
      }
    }, {
      address: { email: 'RECIPIENT2' },
      substitution_data: {
        name: 'User two',
        username: 'user2'
      }
    }
  ],
  content: {
    template_id: 'test-template'
  },
  substitution_data: {
    company: 'Awesome company'
  }
}

response = sp.transmission.send_payload(payload)
p response

这封电子邮件看起来就像

你好,用户一,您的用户名,userone,被创建。谢谢你的公司

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36805381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档