php 非同步發送郵件的問題_PHP教程

來源:互聯網
上載者:User

php 非同步發送郵件的問題


需求:

在某系統裡,上傳完一個產品的補丁檔案或發布產品的更新資訊,需要給使用該產品的使用者(使用者數量較多)發送一封電子郵件,發送後提示發送完畢!

我們常用的PHP代碼寫法如下:

假設該次發送100封郵件。本次操作會出現什麼結果呢?

使用者體驗:使用者等待->發送郵件完畢->返回資訊(這期間極有可能,指令碼執行逾時)

本次操作由於需要發送大量的郵件,導致php執行時間過長,使用者煩躁的等待。當apache或者nginx等待超過允許執行時間,將返回逾時錯誤。這個時候使用者不明確本次操作到底成功與否,到底發出了幾封郵件。

由此我們可以看出以上代碼使用者體驗極差,並且不能夠順利完成任務。

那麼如何解決這個使用者體驗較差的問題呢?

這裡提到一個概念,非同步執行

使用者體驗:使用者等待->發送完畢

朋友們就會問,怎麼缺少發信環節?

OK,發信環節就在使用者提交請求的時候,把發信任務轉給了一個單獨處理髮信的php程式處理了,當使用者看見“發送完畢”的時候其實信還沒發送完,這個時候,發信程式正在後台努力的工作著,一封一封的向外發送。

您可能感興趣的文章

  • 如何解決php中並發讀寫檔案衝突的問題
  • php發送郵件組件
  • 使用PHP的GZip壓縮功能對網站JS和CSS檔案進行壓縮加速網站訪問速度
  • 大流量網站該如何?最佳化伺服器、靜態化、資料庫最佳化、負載平衡以實現高負載
  • Javascript解決左右高度自適應的問題
  • PHP解決網址URL編碼問題的函數urlencode()、urldecode()、rawurlencode()、rawurldecode()
  • 用PHP函數memory_get_usage擷取當前PHP記憶體消耗量以實現程式的效能最佳化
  • 發送郵件SMTP Error Could not connect to SMTP host. send fail的解決辦法

http://www.bkjia.com/PHPjc/901423.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/901423.htmlTechArticlephp 非同步發送郵件的問題 需求: 在某系統裡,上傳完一個產品的補丁檔案或發布產品的更新資訊,需要給使用該產品的使用者(使用者數量較多...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.