从 Mandrill 迁移到 SparkPost -- Rails API
Migrating from Mandrill to SparkPost -- Rails API
我正在从 Mandrill 迁移到 SparkPost 并且有一个 Rails 后端。
我目前的数据结构如下--
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,
}
这会发送响应 --
m = Mandrill::API.new
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message
我是否需要更新 JSON 数据结构?
一旦 JSON 正常,如何使用 SparkPost 将值传递给特定模板?
我尝试了以下操作 --
m = SparkPost::Client.new()
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message
不过我也看到了这个--
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
}
})
感谢帮助!
如果您使用的是官方 gem,它有一个名为 send_payload
的便捷方法,您可以使用它来发送准备好的负载。
recipients
集合中的 substitution_data
是按收件人替换的。
例如,我有以下模板。
要使用此模板发送,这是我的完整代码
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
电子邮件看起来像
Hello User one, Your username, userone, is created. Thanks Awesome company
我正在从 Mandrill 迁移到 SparkPost 并且有一个 Rails 后端。
我目前的数据结构如下--
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,
}
这会发送响应 --
m = Mandrill::API.new
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message
我是否需要更新 JSON 数据结构? 一旦 JSON 正常,如何使用 SparkPost 将值传递给特定模板?
我尝试了以下操作 --
m = SparkPost::Client.new()
template_content = []
result = m.messages.send_template 'email-confirmation', template_content, message
不过我也看到了这个--
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
}
})
感谢帮助!
如果您使用的是官方 gem,它有一个名为 send_payload
的便捷方法,您可以使用它来发送准备好的负载。
recipients
集合中的 substitution_data
是按收件人替换的。
例如,我有以下模板。
要使用此模板发送,这是我的完整代码
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
电子邮件看起来像
Hello User one, Your username, userone, is created. Thanks Awesome company