7

我们正在建立一个使用 sendgrid 作为核心的批量邮件系统。

我们自己管理列表,sendgrid 只是我们的传输工具,并且正在使用代码点火器来构建系统。

我们想知道您会推荐我们使用什么,将 sendgrid 作为 smtp 服务器,或者使用它的 curl API。

我们每天向 x00,000 人发送电子邮件,这些电子邮件都具有相同的内容。

我们找到了 SendGrid 的代码点火器集成文档,它只有 smtp 示例,所以这可能是要走的路吗?

问题的另一部分是,如果我们要使用 SMTP api,代码点火器 bcc_batch_mode 是如何工作的?

4

3 回答 3

10

我目前在 SendGrid 工作。我们的 Web API 实际上比 SMTP 运行得更快,因为您只需要向我们发出一个 cURL 请求即可发送消息,而使用 SMTP 时,连接、HELO 等有很多来回的 TCP 聊天。

我们最近发布了一个新的 PHP 库,您可以在我们的 github 帐户上找到它:http: //github.com/sendgrid/

如果您有任何问题,请随时与我们联系。

于 2012-03-27T03:12:11.553 回答
7

阅读http://sendgrid.com/documentation/map/version/v2#api上的文档, 它们之间几乎没有选择。无论哪种方式,所有功能都可用。对于 PHP,我推荐 smtp 服务器及其 SMTP API,以利用现有的正确格式化、mime 编码和发送电子邮件的库。值得注意的是,示例 PHP 代码仅适用于 SMTP API。

编辑添加问题

sendgrid 文档说在自定义邮件标头(X-SMTPAPI)中使用他们的 API 对多个收件人进行编码,而不是使用 CC 和 BCC。请参阅http://sendgrid.com/documentation/display/api/SMTPDevelopersGuide

http://sendgrid.com/documentation/display/api/SMTP最佳实践部分,用于处理常规邮件标头中的多个收件人的问题。

于 2011-05-31T21:46:29.273 回答
2

好的,只是作为任何人的参考,我将粘贴我的支持聊天。请注意,此聊天涵盖了广泛的内容,因此将其存储在此处可能会很有用

我:使用代码点火器发送给多个收件人?您好,我是使用代码点火器的 php 开发人员,我们使用 sendgrid 作为我们的电子邮件发送平台,

支持:您好。


:嗨,

支持:让我看看是否可以在我们的文档中找到参考。

:我相信你会参考:http ://bit.ly/jL1Pde

支持:那是我一直在寻找的。
:是的,我看到了,但我也看到http://bit.ly/jvowuk说你应该使用X-SMTPAPI 标头,所以我有点困惑我应该使用哪个?

支持:使用上一个链接中的 Codeigniter 示例。您可以使用X-SMTPAPI,但在这种情况下不需要。原因是为了更好地与其他语言一起移植。
:哦,我明白了,非常感谢,我还有一个问题。
支持:好的。

:发送电子邮件时,我们是否可以发送任何标题以将额外信息与电子邮件相关联(例如我们系统中的 id)以帮助查找?

支持:您可以根据需要设置自定义类别。setCategory(cat)为要记录的电子邮件设置一个类别。您可以使用任何您喜欢的类别名称。这是来自http://bit.ly/iYjq2G

:哦,我明白了,谢谢,很抱歉让我很痛苦,但我还有一个问题,

支持:好的。

me:我们希望为我们的用户提供取消订阅接收电子邮件的功能,所有在特定批次中发送的电子邮件(例如 100,000 封电子邮件)都将具有完全相同的内容,但我们希望将取消订阅消息附加到底部,我们希望能够跟踪退订回从我们的系统发送的特定消息,因此我们希望 url 看起来像http://example.com/unsubscribe/1234, 1234 是唯一的 id发送的消息,sendgrid 是否提供了一种简单的方法来完成此操作,还是我们必须对每条消息进行单独的请求?

支持:好的,所以您可以使用以下方法执行此操作:addFilterSetting(filter, setting, val)添加/更改过滤器的设置。标题中指定的设置将覆盖配置的设置。下面是在 PHP 中启用参数的示例:$hdr->addFilterSetting('subscriptiontrack', 'enable', 1);

:好的,所以看看http://bit.ly/k49a57它说你的自定义名称出现在链接中,这到底是什么意思?因为我们不希望用户被发送到 sendgrid 以取消订阅。

支持:因此,它允许您使链接说出与我们提供的内容不同的内容,例如“将自己从这家公司中删除”。

:哦,我明白了,所以如果我们希望 URL 是个人的,我们必须自己管理,这很好,我不记得在哪里,但我注意到某处有一些关于电子邮件内容的替换,这是否允许我们通过 id 列表发送,在我们的电子邮件正文中,我们可以使用 *example.com/unsubscribe/--email_id--* 并将 *--email_id--* 替换为传递的 id?

:啊,http ://bit.ly/jvowuk第2点就是我指的,我可以用吗?

支持:是的,您可以这样做。
:啊,这是一个更好的例子,http://bit.ly/lK6ltE

支持:是的,这显示了替换的电子邮件。因此,它可以为每个修改。

:所以,我可以在代码点火器中使用 *$this->email->_set_header('Custom-Header', 'value');* 来设置自定义标头,如果我要发送 3000 封电子邮件,我有一个看起来像array(5,6,7,8...)的数组,其中有 3000 个 ID 我将如何发送这些?(如果这不是一个快速的答案,我可以通过查看SmtpApiHeader类来解决)

支持SmtpApiHeader是最好的方法。将它们添加为替换的参数。每个索引 ID。
会话断开。

于 2011-05-31T23:05:35.037 回答