我发现您首先提到了独特的论点,但随后您提到了完全不相关的替换。唯一参数适用于整个 API 调用,例如,这些参数可能在您的系统中包含批次 ID,以便您可以更轻松地将电子邮件事件与您的数据进行匹配。然而,替换基本上是电子邮件中的字符串替换,以针对其收件人个性化每封电子邮件,并且这些替换适用于电子邮件的每个收件人,而不是 API 调用。
Sendgrid 唯一参数
如果您使用他们的 API 库,则不必弄乱 JSON 请求标头,只需像使用任何其他 PHP 对象一样使用该库即可。例如,如果您必须设置三个变量,var1
, var2
, var3
要么是这个:
$Sendgrid -> setUniqueArguments(array(
'var1' => 'value1',
'var2' => 'value2',
'var3' => 'value3'
));
or this:
$Sendgrid -> addUniqueArgument('var1', 'value1');
$Sendgrid -> addUniqueArgument('var2', 'value2');
$Sendgrid -> addUniqueArgument('var3', 'value3');
区别在于第一个选项setUniqueArguments
完全替换您之前添加的任何其他变量,但第二个变量除外,addUniqueArgument
,向现有变量添加一个变量。
发送网格替换
假设您正在使用他们的 API 库并且您有 2 个收件人,[电子邮件受保护]和 alice@example com,您需要在电子邮件中提及他们的名字。在这种情况下,您在电子邮件正文中使用占位符字符串,基本上是任何正常情况下不会出现的内容。在我们的例子中,我们假设它可能是:
Hello <<Name>>
where <<Name>>
是收件人姓名的占位符。在这种情况下,您可以这样构建 API 调用(我省略了与电子邮件内容等相关的部分):
$Sendgrid -> addTo('[email protected]');
$Sendgrid -> addTo('[email protected]');
$Sendgrid -> addSubstitution('<<Name>>', array('Bob', 'Alice'));
中的值addSubstituion
呼叫的顺序必须与收件人列表的顺序相同。