当前位置: 首页 > 知识库问答 >
问题:

批量发送和单独的邮件ID与Mailtown

岳玉书
2023-03-14

我正在使用邮枪向客户列表发送付款提醒。

我最初的解决方案是使用他们的RESTAPI向一组收件人发送电子邮件(批量发送)大概是这样的:

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()自定义扩展,请参阅本文)

这很有效。但是,现在我想跟踪打开的窗口。文档中说,使用webhook(一个简单的网页,当用户打开电子邮件时可以获取POST数据),我可以获得有关此操作的大量信息,包括一些很酷的数据,如地理位置。

有两个似乎很有希望的值:标记和自定义变量。但是,这两个值都将在创建请求时包括在内,但在批量发送中,这些值不起作用(它们将标识批量发送本身,而不是单个电子邮件)

是否有任何方法可以使用Mailgun API将标识变量添加到一批发送的每封电子邮件中?我已经求助于发送个人电子邮件,但如果我必须向一个大名单发送电子邮件,那将非常不方便。

共有1个答案

申昌勋
2023-03-14

此问题的解决方案是使用自定义变量参数(v:)稍后可以通过设置webhook来捕获这些内容。在我的例子中,webhook中的cupon idPOST参数将包含cupon自定义变量的值。

request.AddParameter("recipient-variables", vars.ToJSON());
request.AddParameter("v:cupon-id", "{cupon:\"%recipient.cupon%\"}");
request.AddParameter("o:tracking", true);

注意,根据文档,这些自定义变量必须是JSON字符串。

 类似资料:
  • 问题内容: 我有一个独立于Spring的应用程序,该应用程序使用以下简单的spring电子邮件代码,并且使用从map迭代的值构造。 我已经在这里对这个问题提出了一些建议,但是我需要一些具体的建议。下面是我的代码 发送邮件的代码: 发送邮件需要3到4秒钟。我每天有大约40万个大型用户要发送 我在做任何错误的事情还是其他方法来加快此过程。我需要专家的建议 感谢您的时间和帮助:) 问题答案: 恕我直言,

  • 此脚本需要nsMailer.dll插件。 引用 SendMail.nsi 的内容: !AddPluginDir . !define PRODUCT_NAME "批量发邮件程序" !define /date BUILD_DATE "%Y-%m-%d" SetCompressor /SOLID lzma SetCompressorDictSize 32 !include "MUI2.nsh" !

  • 尽管Python 通过smtplib 模块使得发送邮件很简单,Django 仍然在此基础上提供了几个轻量的封装包。这些封装包使得发送邮件非常快速、让开发中测试发送邮件变得很简单、并且支持不使用SMTP 的平台。 这些代码包含在django.core.mail模块中。 简单例子 两行代码实现: from django.core.mail import send_mail send_mail('Su

  • cmf_send_email($address, $subject, $message) 功能 发送邮件 参数 $address: string 收件人邮箱 $subject: string 邮件标题 $message: string 邮件内容 返回 array 格式 array( "error"=>0|1,//0代表出错 "message"=> "出错信息" );

  • X1.0新增 sp_send_email($address,$subject,$message) 功能: 发送邮件 参数: $address:收件人地址 $subject:邮件主题 $message:邮件内容 返回: 类型数组,发送状态和信息 array( "error"=>"1",//有错误 "message"=>""错误信息 ); array( "error"=>"0

  • 问题 在web.py中,如何发送邮件? 解法 在web.py中使用web.sendmail()发送邮件. web.sendmail('cookbook@webpy.org', 'user@example.com', 'subject', 'message') 如果在web.config中指定了邮件服务器,就会使用该服务器发送邮件,否则,就根据/usr/lib/sendmail中的设置发送邮件。

  • 本文向大家介绍springMVC发送邮件的简单实现,包括了springMVC发送邮件的简单实现的使用技巧和注意事项,需要的朋友参考一下 利用javax.mail发送邮件,图片与附件都可发送 1,Controller类 2,service类 MailModel实体类 spring.xml添加配置信息  dev.properties配置 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多

  • 我有一个spring独立应用程序,它使用简单的spring电子邮件代码,如下所示,和是使用map中迭代的值构建的。 我已经对这个问题有了一些建议,但我需要一些具体的建议。下面是我的代码 发送邮件的代码: 发送邮件需要3到4秒钟。我每天有大约40万的用户列表要发送 我是否做错了什么,或者采取了其他方法来加快这个过程。我需要专家的建议 感谢您的时间和帮助:)