gpt4 book ai didi

html-email - Mailgun API : Batch Sending vs. 个人调用

转载 作者:行者123 更新时间:2023-12-04 14:10:30 26 4
gpt4 key购买 nike

背景

我们正在构建一个应用程序,它将通过 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com