使用Go和Sendgrid的API使用Sendgrid电子邮件模板发送电子邮件。 Sendgrid添加了一项功能,允许您动态填充电子邮件模板中的字符串。这有效。但是,我正在尝试使用他们的AddSubstitutions方法(下面的Sendgrid的'AddSubstitutions'定义)来传递一个字符串数组,以便在Sendgrid电子邮件模板中动态填充。
链接到Sendgrid SMTPAPI回购: https://github.com/sendgrid/smtpapi-go/blob/master/smtpapi.go
// AddSubstitutions adds a multiple substitutions to a specific key
func (h *SMTPAPIHeader) AddSubstitutions(key string, subs []string) {
for i := 0; i < len(subs); i++ {
h.AddSubstitution(key, subs[i])
}
}
进行API调用时 - 没有错误,并且发送了电子邮件,但是,只有数组中第一个使用“AddSubstitutions”方法传递的字符串才会填充电子邮件。我已经将数组的内容打印到控制台,我可以看到数组中存在多个值。在模板中,我尝试添加额外的'-keys-'来填充,但是当我这样做时,数组中的第一个元素会被多次填充。如何将数组传递给Sendgrid的API,并使用数组中的每个字符串填充电子邮件模板的主体?代码如下:
nickNameArray := make([]string, 0)
for i, _ := range names {
nickNameArray = append(nickNameArray, names[i])
}
m.AddSubstitutions("-nickNames-", nickNameArray)
消息通过另一个函数发送到Sendgrid - 这是相关的逻辑。