- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景
我们正在构建一个应用程序,它将通过 Mailgun 处理和发送电子邮件。这些有时是一次性消息,由事务发起。但是,有些电子邮件将立即发送到 30k+。
例如,给所有成员的时事通讯。
注意事项
Mailgun 提供 Batch Sending选项与他们的 API。使用“收件人变量”,您可以包含与特定用户配对的动态值。
但是,此批量发送功能是有限的。每次请求发送的收件人不能超过 1,000 个,这意味着我们必须为每组 1,000 个遍历收件人列表(在我们的数据库中)。邮枪provides an example使用 Python(向下滚动约 2/3)了解这可能如何工作。
问题
与我们自己的循环、变量替换和单独的 API 调用相比,批量发送(即,通过单个 API 调用向一组收件人发送电子邮件,使用收件人变量)是否有任何优势?
我认为这对我们的服务器来说更加繁重,因为它会自己处理每条消息,而不仅仅是将所有数据卸载到 Mailgun 的服务器上,以便在他们的末端进行繁重的工作。但我也喜欢在我们端处理它并向 Mailgun 发送“完全呈现”消息的灵活性和简单性,一次一个,而不必一次迭代 1k。
关于最佳实践的任何想法,或者我们应该考虑的因素?
最佳答案
今天偶然发现了这个,觉得它为我原来的问题提供了一个很好的总结/答案。我想发布这个作为答案,以防其他人有这个问题并且没有找到这个 Mailgun 帖子。也是直接从马嘴里说出来的。简而言之:
至少对于 PHP,SDK 有一个 Mailgun
类,带有 BatchMessage()
方法。这实际上会为您处理收件人的计数,因此您可以根据需要排列任意数量的电子邮件地址(即超过 1k),Mailgun 将根据需要发送到 API 端点。很滑!
这是他们的原始措辞,以及指向该页面的链接。
Sending a message with Mailgun PHP SDK + Batch Message:
Batch Message
In addition to Message Builder, we have Batch Message. This class allows you to build a message and submit a template message in batches, up to 1,000 recipients per post. The benefit of using this class is that the recipients tally is monitored and will automatically submit the message to the endpoint when you've added the 1,000th recipient. This means you can build your message and begin iterating through your database. Forget about sending the message, the SDK will keep track of posting to the API when necessary.
// First, instantiate the SDK with your API credentials and define your domain.
$mgClient = new Mailgun("key-example");
$domain = "example.com";
// Next, instantiate a Message Builder object from the SDK, pass in your sending domain.
$batchMsg = $mgClient->BatchMessage($domain);
// Define the from address.
$batchMsg->setFromAddress("dwight@example.com",
array("first"=>"Dwight", "last" => "Schrute"));
// Define the subject.
$batchMsg->setSubject("Help!");
// Define the body of the message.
$batchMsg->setTextBody("The printer is on fire!");
// Next, let's add a few recipients to the batch job.
$batchMsg->addToRecipient("pam@example.com",
array("first" => "pam", "last" => "Beesly"));
$batchMsg->addToRecipient("jim@example.com",
array("first" => "Jim", "last" => "Halpert"));
$batchMsg->addToRecipient("andy@example.com",
array("first" => "Andy", "last" => "Bernard"));
// ...etc...etc...
// After 1,000 recipeints,
// Batch Message will automatically post your message to the messages endpoint.
// Call finalize() to send any remaining recipients still in the buffer.
$batchMsg->finalize();
关于html-email - Mailgun API : Batch Sending vs. 个人调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36063534/
我开发了一个 spring batch 应用程序,它使用批处理/shell 脚本部署为可执行 jar。它工作正常。 最近我读到有关 spring batch admin 应用程序发布的信息。根据他们的
我想要的是一个 bat 文件来等待一定时间的输入。如果没有输入,我希望它转到 somethingidk。 这是我目前所拥有的。 @echo off :START cls timeout 10 set
我最近尝试在不使用外部命令或工具的情况下批量编写一个程序来计算任何实数(而不是负数)的平方根,该程序基于可以在这里找到的算法:Link1 编辑:我修复了大部分问题,但仍然有一个我没有发现的轻微问题。
我有一个简单的批处理文件,它将遍历所有* Test.htm文件并进行复制。一些文件将包含我不想复制的字符串。 FOR /R "C:\" %%g IN (*Test.htm) DO ( echo %%
这可能简短而有趣,但我只是在检查。 批处理 for 命令可以有一个递增的步长值吗? @echo off SetLocal EnableDelayedExpansion set xyz=200 for
目前我正处于批处理 hell 中。我想通过批处理文件调用我的 powershell 脚本。只要路径中没有空格,这就可以正常工作。例如,这是有效的 set DATAPATH="%~1
试图找到以前是否有人问过这个问题,但找不到。 问题来了。以下必须通过Spring批处理来实现有一个文件需要读取和处理。项目阅读器不是线程安全的。计划是让多线程同质处理器和多线程同质写入器插入由单线程读
这里有同样的问题- Spring batch pause/resume vs stop/restart 我在 Spring 检查了 BatchStatus 枚举,没有可用的状态 PAUSED,它仅作为
因此,我目前有这批使用 ffmpeg 将当前文件夹上的每个 .MTS 转换为 .MP4,但是当它完成后,我会在文件夹中同时获得 .mp4 和 .mts。 我有 2 个批处理,一个用于转换文件,另一个用
我需要每周一次将 CSV 加载到数据库中。由于 CSV 文件包含 2 个表的数据,因此需要进行一些数据处理。因此,我将不得不稍微处理一下 CSV 文件,可能会将其转换为 2 个不同的 CSV 文件并将
我有一个澄清。 我们是否可以同时运行一个作业的多个实例。 目前,我们在任何给定时间都有一个作业实例。 如果可能,请告诉我如何做。 最佳答案 是的你可以。 Spring Batch 根据 JobPara
我想跳过一些过程记录。 我尝试过的是,我创建了自定义异常并在我想跳过记录时抛出异常,并且它调用了 onSkipInProcess 方法的跳过监听器。它工作正常。 请找到配置。
任何人都可以启发我一种方法来阻止我的 bat 在执行时在屏幕上闪烁吗?有没有办法阻止 CMD 窗口执行此操作???? 最佳答案 只是一个猜测,但要防止窗口在看不到打印内容的情况下立即打开和关闭,请在批
我需要一个批处理文件来向 windows 中的主机文件添加一条记录,但是我不需要只添加文件,因为我想检查该记录是否已经存在。有可能吗? 最佳答案 type "%SystemRoot%\system32
我试图了解 Spring Batch 如何进行事务管理。这不是技术问题,而是概念问题:Spring Batch 使用什么方法以及该方法的后果是什么? 让我试着澄清一下这个问题。例如,查看 Taskle
我需要知道如何从用户输入的文件中提取目录信息,以下面的代码为例: ECHO Drag and drop your .txt file here, after that press Enter: SET
首先是问题陈述:我在我的 DEV 环境中使用 Spring-Batch 很好。当我将代码移至生产环境时,我遇到了问题。在我的 DEV 环境中,Spring-Batch 能够毫无问题地在我们的 DB2
你好 我是 Spring Batch 领域的新手,最近几天我花了一些时间观看 Michael Minella 的 youtube 视频,阅读了一些文档并成功运行了我在互联网上找到的一些演示项目。我认为
我正在研究使用 spring 批处理来处理编码压缩文件中的记录。记录是可变长度的,其中编码了嵌套的可变长度数据字段。 我是 Spring 和 Spring Batch 的新手,这就是我计划构建批处理配
我正在尝试批量删除字符串中的第一个单词。 示例:“这个 child 喜欢批处理”到“ child 喜欢批处理” 我试过: @echo off set /p text=text: for /f "tok
我是一名优秀的程序员,十分优秀!