[英]Symfony (PHP) – Send mail in background without queue
我有一個發送電子郵件的Symfony應用程序。 要發送的電子郵件數量很少,我想不使用隊列就發送它們。 但是,Swiftmailer大約需要20秒才能執行此操作。 這可能是SMTP服務器的限制。 我配置Web服務器的功能有限。
我希望PHP腳本將整個響應發送給用戶,然后在后台用電子郵件完成任務。
Swiftmailer內存假脫機無濟於事。 函數fastcgi_finish_request
不起作用,用戶必須等待整個腳本完成。
我也不能派生腳本。 前叉功能已禁用。
你可以使用假脫機文件,描述在這里 :
如果您不想使用隊列,則可以異步啟動電子郵件發送。 您可以創建一個服務來發送您的電子郵件,然后使用krlove / async-service-call-bundle之類的方法異步調用它。
如果您不想使用該捆綁包並自己做,則可以創建一個將假脫機電子郵件並使用類似以下內容的命令:
$proc_command = 'php bin/console yourcommand > /dev/null 2>&1 &';
$proc = popen($proc_command, 'r');
pclose($proc);
我配置Web服務器的功能有限。
我看到了這個消息,恐怕您無法安裝任何東西,但是讓我分享我的想法。
如果可以將其安裝到服務器,則第一個選項是POSTFIX
第二種選擇是使用一些雲電子郵件服務(通過SMTP或REST API),並希望它能夠足夠快地運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.