2011-02-16 48 views
1

我有一個自定義的c#應用程序。有沒有一種方法可以發送電子郵件沒有smtp服務器。即有一個庫將模擬smtp功能併發送電子郵件到外部電子郵件。如何添加smtp發送功能到我的應用程序

+2

你會接受回報的一些答案? – rene 2011-02-16 19:01:00

+0

請閱讀電子郵件通信的工作原理!如果你明白這一點,你就可以回答你的問題。 – Nauman 2011-02-16 19:09:13

回答

1

你可以使用亞馬遜的簡單電子郵件服務(http://aws.amazon.com/ses/)。它爲您提供和API發送電子郵件(小批量或批量)。

的服務不是免費的,但它是非常便宜(每1000封電子郵件$ 0.10)。在大多數亞馬遜雲服務中都有一個免費的層級,但只有當您從EC2實例發送電子郵件時(這很可能不是您的情況......)才適用。

此外,它提供了對產能統計和一些保證你不會被標記爲垃圾郵件(除非這就是你在做什麼:)

3

雖然你可以編寫自己的SMTP協議的實現,讓你實際上充當自己的SMTP服務器(它甚至不是困難的事),你仍然有其他SMTP服務器(即收件人的服務器)的接口。在過去的10年左右,很多服務器已經越來越不信任他們會與誰交談。許多人會做反向DNS查找,以查看您發送的IP地址是否與您的域名的MX記錄中列出的IP地址相同。如果它們不匹配,服務器將拒絕接受來自您的郵件。

此外,許多ISP都阻塞端口25(SMTP使用),讓你不能從他們的網絡發送電子郵件,除了通過自己的SMTP服務器會。這可以防止客戶使用家庭高速連接發送垃圾郵件。 (至少,它使事情變得更加困難。)

所以,回答你的問題在技術上是肯定的:你可以編寫代碼,就像一個SMTP客戶端發送郵件。但在實際應用中,由於ISP和接收ISP的SMTP服務器的限制,這變得更加困難。

如果您有興趣編寫代碼SMTP,你可能會發現以下啓發:

相關問題