c#-使用Mailgun批量发送和单个消息ID
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-使用Mailgun批量发送和单个消息ID,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1854字,纯文字阅读大概需要3分钟。
内容图文
![c#-使用Mailgun批量发送和单个消息ID](/upload/InfoBanner/zyjiaocheng/678/d061c8cfcaba45c183f63e2b203db8de.jpg)
我正在使用Mailgun将付款提醒发送给客户列表.
我最初的解决方案是使用他们的REST API向一组收件人发送电子邮件(batch sending.).
public static bool SendBatch(string From, Dictionary<string, Object> vars, string txtEmail, string htmlEmail)
{
RestClient client = new RestClient();
client.BaseUrl = "https://api.mailgun.net/v2";
client.Authenticator =
new HttpBasicAuthenticator("api",
"my-mailgun-key");
RestRequest request = new RestRequest();
request.AddParameter("domain", "my-domain.tld.mailgun.org", ParameterType.UrlSegment);
request.Resource = "{domain}/messages";
request.AddParameter("from", From);
foreach (KeyValuePair<string, Object> entry in vars)
{
request.AddParameter("to", entry.Key);
}
request.AddParameter("subject", "Payment option ready");
request.AddParameter("text", txtEmail);
request.AddParameter("html", htmlEmail);
request.AddParameter("recipient-variables", vars.ToJSON());
request.Method = Method.POST;
client.Execute(request);
return true;
}
(有关ToJSON()自定义扩展名,请参见this blog post)
这很棒.但是,现在我要跟踪打开. documentation指出,使用webhook(一个简单的网页,当用户打开电子邮件时会获取POST数据),我可以获得有关此操作的大量信息,包括一些很酷的数据,例如地理位置.
似乎有希望的两个值是:标记和自定义变量.但是,这两个值都将在创建请求时包括在内,但在批量发送中不起作用(它们将标识批量发送自身,而不是单个电子邮件).
是否可以使用Mailgun API向一批电子邮件中的每封电子邮件中添加标识变量?我已经求助于发送单个电子邮件,但是如果我必须将电子邮件发送到一个大列表中,这将非常不便.
解决方法:
解决此问题的方法是使用自定义变量参数(v :.).稍后可以通过设置Webhook捕获这些参数.就我而言,我的Webhook中的cupon-id POST参数将包含cupon自定义变量的值.
request.AddParameter("recipient-variables", vars.ToJSON());
request.AddParameter("v:cupon-id", "{cupon:\"%recipient.cupon%\"}");
request.AddParameter("o:tracking", true);
请注意,这些自定义变量必须是JSON字符串according to the documentation.
内容总结
以上是互联网集市为您收集整理的c#-使用Mailgun批量发送和单个消息ID全部内容,希望文章能够帮你解决c#-使用Mailgun批量发送和单个消息ID所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。