2011-05-31 140 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