簡體   English   中英

Laravel Mail:如何按特定域發送批處理電子郵件

[英]Laravel Mail: how to send batch emails per specific domain

我正在使用Laravel 5.2.45構建新聞通訊管理系統,該系統使用戶能夠將大量電子郵件發送到郵件列表。 到目前為止,我的示例郵件列表包含數千個具有不同電子郵件提供商的不同電子郵件地址,例如'@ gmail.com','@ hotmail.co.uk'...等。

使用該系統時,新聞簡訊可能會在發送1000封不同的電子郵件時發送到1000封,這使我不得不問這幾個問題。

1)基於研究,我認為最理想的是減少發送電子郵件時Laravel打開和關閉的連接數。 意思是,要訂購提供商域並批量發送它們,因此一口氣發送所有“ @ gmail.com”,因此只有一個連接被打開和關閉到gmail服務器。 這個准確嗎?

2)如果第一個問題是正確的,那么使用Laravel郵件執行此操作的最佳途徑是什么(如果本機Laravel郵件具有執行此操作的能力)? 我知道可以使用Laravel郵件的隊列功能,但是我不確定這是否可以確保每個域類型僅打開和關閉一個連接。

3)此外,使用Laravel郵件類發送新聞簡訊有可能帶來負面影響嗎?新聞簡訊每天可能會多次發送給20,000個客戶電子郵件?

謝謝,

基倫

好吧,取決於您配置郵件適配器的方式–是的,Laravel會為要發送的每封電子郵件打開一個連接,如果您打算發送那么多電子郵件,這將不是很有效。

我強烈建議您調查電子郵件提供商的API:而不是使用SMTP連接,它們中的大多數都提供了批處理功能。 例如Mailgun: https ://documentation.mailgun.com/user_manual.html#batch-sending。 Laravel開箱即用地支持Mailgun-API。

你的問題:

1)是否在@ gmail.com,@ yahoo.com之類的域之后批處理電子郵件都沒有關系,例如,如果您有一個to字段填充的for字段,則將建立一個新連接通過SMTP為每個郵件建立。 連接連接到發送域,而不是接收域。

2)即使您使用Mailguns批量發送功能,我也絕對會考慮使用隊列-效率要高得多。

3)負面影響有哪些方式? 當然,根據您如何構建郵件模板,設置電子郵件數據以及不設置電子郵件數據–這可能會對服務器造成壓力。 但是,沒有什么可以通過適當的編程來構建的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM