2010-05-20 88 views
0

我使用php 5.3 apache 2.2和phpmailer庫發送郵件使用smtp和過程是好的。PHP和Apache塊,而我發送電子郵件使用smtp

問題是發送使用smtp的電子郵件需要一段時間才能發生,而這種情況發生時,apache不會處理任何其他請求。

+0

排隊它,並使用後臺進程發送它。 – 2010-05-20 22:49:51

+0

如果Apache被阻塞,可能是配置錯誤。聽起來像這個屬於serverfault。 – Josh 2010-05-20 23:04:00

+0

「排隊,並使用後臺進程發送」....我該怎麼辦? – Danilo 2010-05-21 21:30:47

回答

0

我假設你的意思是處理電子郵件請求的實例需要很長時間才能完成 - 而不是它阻止weberver的所有實例?後者應該永遠不會發生,除非在所有的PHP代碼中有一個共享的互斥體(即使這樣只有影響PHP頁面的請求 - 而不是靜態內容)。

你能指出它的實際使用時間嗎?

MTAs(郵件傳輸代理)是所有關於排隊郵件,並高度優化這樣做 - 所以弗蘭克法默的建議是一個非常糟糕的。

如果您向我們提供關於操作系統和MTA的線索,這將有所幫助。

輸入法,長時間的延遲可能是由錯誤的DNS查找造成的 - 您在郵件配置或IP名稱中使用的是IP地址嗎?你有沒有爲本地MTA配置的智能中繼(出現這個錯誤通常意味着郵件將被髮送,但只有很長的一段時間後)。

你檢查了你的MTA日誌嗎?

C.

+0

實際上,它發送郵件時,它連接到smtp服務器,發送數據需要5到15秒... MTA?...我不知道...我更新在php 服務器是Linux共享主機 – Danilo 2010-05-21 16:53:40

+0

郵件傳輸代理的MTA統計信息 - 它是執行所有郵件路由/排隊的守護進程。如果您在共享主機平臺上,那麼您將無法調試故障,也無法修復它。向你的提供者抱怨。 – symcbean 2010-05-23 15:12:40