星期日, 5月 16, 2010

如何寄 email 到本機 folder

不知道大家是否有寫過 EDM 或是 server 端寄發 email 給 client 的需求, 最近 Bibby 有寫到這個功能, 每次次寫完需要測試,就是要寄去 gmail 或是 yahoo mail 來收信, 有時候我 cable 提供的 smtp 不知道怎樣, 都要等十幾分鐘才會收到, 自己覺得這個方式真的太笨了, 去問幾個前輩,得到一個方法, 就是只要本機安裝 smtp service 就可以在 "C:\Inetpub\mailroot\queue" 找到剛剛寄的測試信, 試了一下還真的可以做到這個需求, 不過話說回來, 還是需要再安裝 smtp service ,真是有點麻煩, 所以又查一下 msdn 還有網路, 發現有更不錯的方法, 這裡跟大家分享一下..直接看 code 吧..

var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
var folderPath = Server.MapPath("~/EmailFolder");
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
smtpClient.PickupDirectoryLocation = folderPath;

只要這樣就可以在 root 下面的 EmailFolder 看到測試信啦, 很簡單吧, 不過 .eml 副檔名要怎麼打開呢, 這只是一個小技巧啦, 把副檔名改成 .mht 在用 ie 去開啟它就好了..讚..

收工..放空去..

參考:
http://msdn.microsoft.com/zh-tw/library/system.net.mail.smtpclient.aspx

沒有留言: