我通过Mailgun发送了几百封电子邮件,如下:
// Send to Mailgun
$mailgunResult = $mgClient->sendMessage($domain, array(
'from' => $fromEmail,
'to' => $toListString,
'subject' => $emailSubject,
'text' => $textEmail,
'html' => $htmlEmail,
'recipient-variables' => $recipientJSON
));
这很好,但现在我想将自定义数据附加到每封电子邮件,例如我的每封电子邮件的ID等。文档显示如何将json数据添加到单个电子邮件中,但我无法理解如何让Mailgun将我的数据列表与每个外发电子邮件进行匹配,就像收件人变量一样。
有人这样做过吗?我使用Mailgun的门票让我指出了我已经引用过的文档。
答案 0 :(得分:6)
您可以在自定义变量中使用Mailgun的模板标记。我正在使用它来通过我的网站唯一ID来跟踪收件人。在您的API帖子有效内容中,使用v:
样式添加变量,然后使用模板(%recipient.value%
)设置该变量的值。
示例JSON有效负载:
{
'v:Recipient-Id': '%recipient.id%'
'recipient-variables:': { 'email@example.com': {'id': '123'}}
}
然后在webhooks有效负载中,您将看到如下变量:
'Recipient-Id': '123'
我是从Mailgun网站上有用的博客文章中找到的: http://blog.mailgun.com/closing-the-loop-between-your-customer-data-and-your-email-data/
答案 1 :(得分:0)
我不确定我是否理解正确,因为您说您已经查看了文档。
对我而言, 看起来像是在文档中得到了解答。 https://documentation.mailgun.com/user_manual.html#attaching-data-to-messages:
将数据附加到消息
发送时,您可以通过传递自定义将数据附加到邮件中 数据到API或SMTP端点。数据将表示为a 电子邮件中的标题,X-Mailgun-Variables。数据格式为 JSON并包含在与电子邮件相关的任何webhook事件中 包含自定义数据。可以包括几个这样的头部 他们的价值观将合并。
实施例
<?php header('Content-Type: text/html; charset=UTF-8'); include("db.php"); //just the database connection session_start(); ?> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> </head> <body> </html> <?php $abfrage= mysql_query("SELECT * FROM user ORDER BY Name desc"); //$ergebnis = mysql_query($abfrage) or die( mysql_error() ); echo "<table>"; echo"<caption>Mitglieder<br></caption>"; echo"<table border=\"1\" style=\"width:300px\">"; echo "<th>Name</th> <th>Prename</th> <th>Role</th>"; while($row = mysql_fetch_object($abfrage)) { echo "<tr>"; echo "<td align=center>",$row->Name,"</td>"; echo "<td align=center>",$row->Prename,"</td>"; echo "<td align=center><select><option value=",$row->Role,">",$row->Role,"</option></select></td>"; //Here is the Problem echo "</tr>"; } echo "</table>"; ?>
要在邮件中添加此标头:
API:传递以下参数
X-Mailgun-Variables: {"first_name": "John", "last_name": "Smith"} X-Mailgun-Variables: {"my_message_id": 123}
。SMTP:将以下标题添加到您的电子邮箱
“v:my-custom-data” => “{“my_message_id”: 123}”
。注意
“X-Mailgun-Variables: {“my_message_id”: 123}”
标头的值应该是有效的JSON 字符串,否则Mailgun将无法解析它。如果你的“X-Mailgun-Variables”
标题超过998个字符,您应该使用 折叠以将变量分布在多行上。
当你说&#34;你的身份&#34;时,你并不是指Mailgun所说的&#34;标签&#34;或&#34;广告系列&#34;,对吧?
HTH