2011-03-20 69 views
1

我正在尋找一個適用於Windows的SMTP服務器,它可以幫助我在我的Web應用程序中調試電子郵件發送。最好是一些軟,而不是發送電子郵件,讓我看到他們或只是保存他們一些。可以保存/顯示發送郵件而不是實際發送郵件的SMTP服務器?

通常,我有相關應用程式的標誌,這使得它們顯示的電子郵件,而不是將其發送,但現在我不得不去維護一個大項目,PHP與周圍的電子郵件未包裝()使用:/

的感謝!

+1

不是一個真正的編程問題。有一些「耙」SMTP服務器(http://www.aboutmyip.com/AboutMyXApp/DevNullSmtp.jsp是一個,http://quintanasoft.com/dumbster/是另一個,沒有嘗試過),讓但是你這樣做。 – Joe 2011-03-20 17:30:38

+1

對於查看netcat會做:'nc -k -l 25' – mario 2011-03-20 17:36:03

+0

我在測試某些電子郵件發送功能時使用了James(http://james.apache.org/);設置和使用非常簡單。 – Luke 2011-03-20 18:34:47

回答

0

只需使用"The Python"

下載Python 2.7版從http://python.org/,然後轉到命令行寫:

C:\> C:\Python27\python -m smtpd -d 0.0.0.0:25 

這樣做你會被導入smptd模塊並通過控制檯獲取調試輸出。如果你沒有指定一個外發的SMTP服務器(因爲使用這種模式,它可以像代理一樣工作),任何你嘗試發送的郵件都將被丟棄,但你會看到它到控制檯中。

祝你好運!

+0

謝謝!我會試試看 – Ian 2011-03-20 17:50:01

2

您可以從技術上讓SMTP服務器將電子郵件發送到一個虛擬電子郵箱,該電子郵箱將位於服務器的本地計算機上。這樣,您可以查看它,而無需離開計算機。旁邊;在發送郵件之前,Unix使用/ var/spool/mail執行此操作。

1

該項目有多大?我不是一個大窗戶傢伙自己,但每當我不得不做出一些巨大的,廣泛的變化,以我的工作的代碼,我通常只是做這個命令行:

grep -lr 'mail(' ./ | xargs sed -i 's/mail\(/Mail::send(/g' 

這取代了郵件功能。我確定有些程序可以提供Windows的等效功能。

我建議處理代碼而不是更改SMTP服務器的原因是因爲它最終是處理手頭問題的更主動的方法。如果您需要擴展和添加更多SMTP服務器,會發生什麼情況?如果您需要完全切換SMTP服務器,會發生什麼情況?如果SMTP服務器出現故障,您需要保存所有出站郵件直到恢復爲止,會發生什麼情況?花些時間來做這個小的重構就更有意義了,因爲我保證它會在路上節省很多頭痛。

+0

我將重寫該項目,但首先我必須對其進行快速修復,這就是爲什麼我要調試它。新版本將有很多方法來調試電子郵件發送:) – Ian 2011-03-20 17:49:15

+0

很高興聽到!很多人一直都在尋找停車位。我很高興你打算正面解決這個問題。 :) – 2011-03-21 02:46:41