2011-05-31 142 views
6

我们正在建立一个以sendgrid为核心的批量邮件系统。Sendgrid - SMTP或CURL?

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

我们想知道你会推荐我们使用sendgrid作为smtp服务器还是使用它的curl API。

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

我们发现SendGrid's integration documentation for code igniter哪些只有smtp的例子,所以可能这是要走的路?

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

回答

7

阅读文档http://sendgrid.com/documentation/map/version/v2#api 他们之间很少有选择。所有功能都可用。对于PHP,我推荐SMTP SMTP使用smtp服务器来利用现有的正确格式化,MIME编码和发送电子邮件的库。值得注意的是,示例PHP代码仅适用于SMTP API。

编辑的补充问题

的sendgrid文件说,编码与他们的自定义邮件头API多个收件人 - X-SMTPAPI --not使用CC和BCC。请参阅http://sendgrid.com/documentation/display/api/SMTPDevelopersGuide

http://sendgrid.com/documentation/display/api/SMTP有关常规邮件标题中多个收件人问题的最佳做法部分。

+0

你好Magicianeer,有趣的是,他们说你应该使用自定义头,然而他们的代码点火器的示例代码只是用于电子邮件类的to,cc和bcc函数,我应该使用什么? – Hailwood 2011-05-31 22:03:36

+1

好吧,在使用to和他们的在线支持交谈之后,bcc很好,你可以使用标准方法或头部,头部的原因是为了提供更好的与其他语言的互操作性。 – Hailwood 2011-05-31 22:26:39

2

好的,只是作为任何人的参考,我将粘贴我的支持聊天。请注意,这个聊天内容涵盖了很多东西,因此可以将其存储在此处,以便将其存储在此处

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

支持:你好。


:嗨,

支持:让我看看,如果我能找到我们的文档的参考。

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

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

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

:当发送电子邮件是否有我们可以发送额外的信息与电子邮件相关联的任何头(例如,从我们的系统ID),以帮助查找?

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

:哦,我看看,谢谢,很后悔是一种痛苦,但我有一个问题,

支持:好的。

:我们希望我们的用户提供从接收电子邮件退订的能力,所有电子邮件中的特定批次发送到(例如,10万封邮件)将有完全相同的内容,与我们想要的例外在底部添加取消订阅消息,我们希望能够将取消订阅跟踪回到我们系统发送的特定消息,所以我们希望将url看起来像 http://example.com/unsubscribe/1234,1234是发送消息的唯一ID, sendgrid是否提供了完成此操作的简单方法,或者我们是否必须对每条消息进行单独的请求?

支持:好了,你可以做到这一点使用: addFilterSetting(过滤器,设置,VAL)添加/更改了过滤器的设置。标题中指定的设置将覆盖已配置的设置。下面是在PHP中启用的参数示例: $ hdr-> addFilterSetting('subscriptiontrack','enable',1);

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

支持:因此,它允许您让链接说一些不同于我们提供的东西,例如“从我们公司中删除我自己”。

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

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

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

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

me:所以,我可以使用* $ this-> email - > _ set_header('Custom-Header','value'); *在代码点火器中设置自定义标题,如果我发送出去说3000电子邮件,我有一个阵列,看起来像 阵列(5,6,7,8 ...)与ID,3000他们如何发送这些通过? (如果它不是一个快速的答案,我可以通过查看 SmtpApiHeader类做出来)

支持:本 SmtpApiHeader是最好的方式。将它们添加为替代参数。每个索引ID。
会话断开连接。

10

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

我们最近出版了一本新的PHP库,你可以找到它在我们的GitHub账号:http://github.com/sendgrid/

不要犹豫,如果你有任何问题与我们联系。

+0

令人惊讶...... Web API比SMTP更快,真的吗? – Girish 2013-01-31 11:48:24

+0

嗨,@iandouglas,对不起,这个有点呃......如果你对整个发送网格的事情感到抱歉。 SendGrid的首席技术官似乎不断推荐使用SMTP选项,但可以肯定的是您认为Web API更好? – 2016-03-07 17:18:42

+0

@BoLi我还是很喜欢SG。我总是推荐通过SMTP的Web API。 “更好”是主观的,如果他们认为外面很冷,就问随机的人。 :) – iandouglas 2016-03-08 19:21:36