最近項目需要使用發送郵件,Jmail很久都沒有用了並且Jmail官方沒有支援.Net的版本,所以碰到了一些問題,為了讓大家不要走彎路及自已記下特寫出以下內容
我使用的jmail是4.3版
需要提取Jmail可以在.Net下使用
1.下載jmail4.3 自已在網上隨便搜一下一大把,然後安裝.
2.找到jmail.dll(Program Files\Dimac\w3JMail4下)
3.執行Program Files\Microsoft Visual Studio 8\VC\ildasm.exe c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail
這樣子是產生不出來的因為是在DOS下它對"Program Files"這個檔案夾不支援,你把它複製到沒有別的地方然後按照上面的辦法產生myJmail.dll即可.
4.將myJmail.dll添加引用到你的項目中即可.
需要注意的問題
|1、使用者名稱和密碼
在代碼裡要寫上
msg..MailServerUserName="使用者名稱"
msg.MailServerPassWord="密碼"
或是
msg.Send("使用者名稱:密碼@server.net")
要寫發送端串連的郵件伺服器和進入郵件伺服器的使用者名稱和密碼。使用者名稱和密碼一定要存在於伺服器上且正確。而且好象使用者名稱和密碼最好不要帶底線。
2、.防火牆阻止了網路通訊或網路故障
有可能防火牆會認為這是蠕蟲導致的狂發郵件的情況,所以會禁止群發郵件。
所以檢查防火牆的設定就可能會發現。
3.jmail組件許可權不夠
4.郵件伺服器故障
JMAIL代碼myJmail.Message Jmail = new myJmail.Message();
Jmail.ContentType="text/html";
Jmail.Silent=false;
Jmail.Logging=true;
Jmail.Charset="GB2312";
Jmail.AddRecipient("ToEmail","","");
Jmail.From="FromEmail";
Jmail.MailServerUserName="UserName";//注是要寫全稱 並且不要帶有底線的使用者名稱
Jmail.MailServerPassWord="PassWord";//不要帶有底線的密碼
Jmail.Subject="主題";
Jmail.Body="內容";
Jmail.Send("smtp.126.com",false);
Jmail.Close() ;
註:我已經將產生出來的代碼上傳上來供大家下載 http://files.cnblogs.com/daxia/myJmail.rar