2009年3月26日 星期四

傳送郵件失敗,郵件標頭中找到無效的字元

再使用.Net .2.0的MAIL Class時
真的很頭痛,實在有太多人遇到
"郵件標頭中找到無效的字元"這個錯誤訊息

發生的可能有幾種,讓我一一列出
1.您的 Email Address 中有不合法的字元例如有""雙引號
2.分隔多個 Email 時不是用 ";" 分號去分隔
3.你的 Domain 是中文,也就是你的電腦名稱是中文
在.Net的原生碼中,這裡的domain
System.Net.Mail.EHelloCommand.PrepareCommand(SmtpConnection conn, String domain)
會去檢查是否有不是 ASCII code 中的字元

至於更細節可以參考我的前篇
System.Net.Mail 發個完美的 Mail 怎麼這麼難?

ASP.Net 2.0 Login Contral First

ASP.NET 2.0以後,Login控制像我覺得是個很不錯的控制項
可以少寫很多的程式碼
但要用的好並不容易
網路上的討論和資料偏少
大家都喜歡用自己的

我來說明用LOGIN控制像的初步
第一個你要執行過資料庫的更新
Aspnet_regsql.exe 文件在 Web 上的 [drive:]\WINDOWS\Microsoft.NET\Framework\versionNumber 中

下的指令可以參考我的,再開發機器上可以加入所有的資料庫
aspnet_regsql -S ESMART-SERVER -A all -E

詳細的參數請參考這篇
http://www.cnblogs.com/hide0511/archive/2006/10/24/538739.html

接下來可以將LOGIN控制項拉到網頁中
展開控制項的三角形(進階設定)中有個管理網站
在管理網站中,可以新增自己的Provider
之後就可以自定自己的資料庫以及程式碼