2009-04-16 36 views
2

正如我的應用程序的配置過程的一部分,我有一個理智檢查器,驗證所有用戶提供的數據。這包括應用程序用來發送電子郵件的電子郵件服務器設置。如何在不發送消息的情況下測試我的電子郵件設置?

我想對那些設置一個簡單的完整性檢查,而不實際發送任何電子郵件。如果這可以支持SMTP設置的所有標準風格,包括那些使用authentication/ssl/etc的應用程序,那就太好了。

它不需要是詳盡的,但更多的覆蓋,就更好了。

目前我要做的就是驗證我可以打開指定端口上給定服務器的連接。更深一點的會更好。

注意:我是而不是試圖驗證電子郵件地址 - 這與此問題無關。

回答

4

您只需打開服務器&端口的用戶提供一個原始的連接,並做了

HELO Server.Domain.Com 
Mail From: [email protected] 

,看看你是否得到了有效的HELO響應&發件人OK響應 (如SMTP認證功能) 。

和你如果直接telnet到服務器一樣。

http://www.petri.co.il/test_smtp_service.htm

這也可能是有用的

http://qmail.jms1.net/test-auth.shtml

+0

如果我使用安全的SMTP服務器,我會到達多遠?我將在哪裏提供密碼或啓動SSL/TLS連接? – 2009-04-16 14:54:44

1

我敢肯定有人會變得更明亮,更有資格會得到更好的答案。然而,乍一看,我會說,你無法驗證能力成功而不實際發送電子郵件發送電子郵件。

但是,如果你想自動化的過程中,你可以有一個「[email protected]」(或當地域)的地址。

然後你就可以創建一個監視該電子郵件地址,或只是一個簡單的應用程序如果電子郵件是X分鐘內收到該程序與該電子郵件地址,並檢查接口看門狗應用。這樣,您可以100%確定電子郵件能夠發送出去。 此鏈接顯示how to programmatically check gmail addresses

一個重要提示:如果您的應用程序正在發送外部電子郵件,那麼最好如果您使用的電子郵件地址是外部的,因爲您的服務器可能無法發送外部電子郵件,但內部電子郵件發送通過很好,在這種情況下,你的理智檢查會發出誤判。

+0

@devinb:謝謝你的提示。這僅用於內部使用,並且爲了快速完整性檢查,實際上不會發送任何內容。在這個過程中稍後會有一個步驟。謝謝! – 2009-04-16 14:57:50

相關問題