我正在向“收件人”列表中的多个收件人发送电子邮件(带有自定义参数),但只收到一个邮件ID。现在我尝试使用sendgrid email activity API来获取电子邮件状态,方法是通过提供自定义参数来使用查询。在此电子邮件活动的响应中,我只接收到一个收件人的状态,但没有获得其他收件人的状态。在发送电子邮件或搜索电子邮件活动时,我是否遗漏了什么?我曾尝试在sendgrid中搜索同一封电子邮件,我可以看到单个收件人的状态,但无法使用电子邮件活动获得相同的信息
z31licg01#
在做了一些研究和调查之后,我可以解决这个问题。我试着通过改变邮件活动API中的查询来搜索不同的邮件,我发现它返回了多封邮件,因此,我可以看到从sendgrid响应返回了一系列邮件。为了深入了解此问题,我向多个收件人发送了一封电子邮件。在发送网格活动中,我验证了每个收件人的电子邮件,以查看是否存在任何差异导致我的过滤器不返回数据。我发现当一封邮件被发送给多个收件人时,自定义参数只被添加到收件人电子邮件地址的第一个收件人,抄送的第一个收件人等。下面是我用C#发送邮件的代码。
SendGridMessage msg = MailHelper.CreateSingleEmailToMultipleRecipients(from, recipients, subject, plainText, htmlContent); msg.AddCustomArgs(uniqueArgs); SendGrid.Response response = await client.SendEmailAsync(msg);
它从不将这些自定义参数附加到其他接收者。要解决这个问题,我必须使用“AddGlobalCustomArgs”而不是“AddCustomArgs”来向邮件添加参数,这将向所有收件人邮件添加参数。
msg.AddGlobalCustomArgs(uniqueArgs);
使用此选项发送邮件后,自定义参数将添加到所有收件人邮件中。已为作为Sendgrid活动的一部分发送的每个收件人邮件验证此选项。现在,尝试运行电子邮件API与相同的查询过滤器,我有,现在我可以检索所有的电子邮件,我已经发送了自定义参数。希望这个答案能有所帮助
1条答案
按热度按时间z31licg01#
在做了一些研究和调查之后,我可以解决这个问题。
我试着通过改变邮件活动API中的查询来搜索不同的邮件,我发现它返回了多封邮件,因此,我可以看到从sendgrid响应返回了一系列邮件。
为了深入了解此问题,我向多个收件人发送了一封电子邮件。在发送网格活动中,我验证了每个收件人的电子邮件,以查看是否存在任何差异导致我的过滤器不返回数据。
我发现当一封邮件被发送给多个收件人时,自定义参数只被添加到收件人电子邮件地址的第一个收件人,抄送的第一个收件人等。
下面是我用C#发送邮件的代码。
它从不将这些自定义参数附加到其他接收者。
要解决这个问题,我必须使用“AddGlobalCustomArgs”而不是“AddCustomArgs”来向邮件添加参数,这将向所有收件人邮件添加参数。
使用此选项发送邮件后,自定义参数将添加到所有收件人邮件中。已为作为Sendgrid活动的一部分发送的每个收件人邮件验证此选项。
现在,尝试运行电子邮件API与相同的查询过滤器,我有,现在我可以检索所有的电子邮件,我已经发送了自定义参数。
希望这个答案能有所帮助