Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (174)
網站架設 (85)
程式設計 (161)
軟體使用 (70)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




July 11, 2004
免費的 .Net Email 元件

如果說世界上有原廠的東西做出來還不好用,那一定說的是 Microsoft 。

Microsoft .Net 原廠的 System.Web.Mail 實在太遜了,丟開 SMTP 沒有認證使用者的功能就算了,連寄附加檔案都有問題! 隨便指定個檔案當附加檔,程式就直接中斷掉了。

其實自己寫一個 SMTP 的程式也不難,只是輪子不用再重造,目前 sourceforge 內有一個 OpenSMTP .Net 的專案,完全 OpenSource ,我在 VB.Net 測試除了附加檔案的檔名中文檔名會消失之外,沒有任何的問題。

官方網址:
http://sourceforge.net/projects/opensmtp-net/

VB.Net 的使用範列: (修改自官方說明的 C# 範例)

Imports OpenSmtp.Mail

'在 Visual Studio 記得要引用「專案->加入參考->opensmtp.dll」

Dim from As New EmailAddress("neo@xxx.com.tw", "Neo")
Dim sto As New EmailAddress("neo@yyy.com.tw", "XYZ")
Dim msg As New OpenSmtp.Mail.MailMessage(from, sto)
msg.Subject = "測試 OpenSmtp .Net SMTP component"
msg.Body = "Neo's BLOG 測試"
msg.Charset = "big5"

'這個很重要,一定要設成 big5 或 UTF-8 才能正常顯示中文

msg.AddAttachment("c:\reply\test.gif")
Dim Smtp As New Smtp("www.xxx.com.tw", 25)
Smtp.Username = "neo" '有支援 SMTP 認證
Smtp.Password = "xyz"
Smtp.SendMail(msg)

另外有一個是屬於商業級的產品,但是免費版本該有的都有了,似乎沒有使用期限限制,有興趣的人可以試試。

官方網站:
http://www.quiksoft.com/freesmtp/

下載網址:
http://www.quiksoftcorp.com/download/freesmtpsetup.exe

 
由 Neo 發表於 July 11, 2004 05:59 PM 收進你的MyShare個人書籤  

據我所知~
System.Web.Mail加上下3行就可認證了
MObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
MObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "youruesername")
MObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "yourpassword")


ballboy 發表於 January 15, 2005 12:19 PM

對岸的朋友有修改原始碼解決中文附檔名的問題
http://www.cnblogs.com/bestcomy/archive/2005/01/21/95512.html


鳥毅 發表於 October 4, 2006 02:32 PM

剛剛試了之後發現,對岸朋友的修改在.net 2.0不適用。

如果用.net 2.0,直接用System.Net.Mail的SmtpClient與MailMessage,設定message.BodyEncoding = System.Text.Encoding.UTF8則完全沒有中文問題。


鳥毅 發表於 October 11, 2006 04:32 PM

请问如何设置Opensmtp的紧急程度呢,我发成功了,要很久才收得到


tide 發表於 February 3, 2007 08:28 PM

Copyright 2005 Neo's Blog All rights reserved.