最近在編程人生里要測試一個會員郵件的功能,就寫了下面的代碼。
在asp.net 中,有時要測試發信SMTP,但如果在單元測試中,如果沒方便好用的smtp怎么辦,其實還是有辦法模擬的,下面講解下:在web.config 中設置<system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:/Mail/"/> </smtp> </mailSettings></system.net>這樣設置的話,將指定c:/mail為指定的收件箱的目錄了,代碼可以編寫如下:PRotected void btnMail_Click(object sender, EventArgs e){ MailMessage message = new MailMessage("abc@somedomain.com","abc@abcdefgh.com",Newsletter", "This is a test mail");SmtpClient client = new SmtpClient("localhost");client.Send(message);}}這樣的話,會發現運行后,在c:/mail下會有SMTP格式的你發的信了.這個測試方法其實是很有用的,因為有時要涉及到用SMTP的一些信息交換平臺的報文,用這個測試方法就很好,可以清楚看到報文頭和報文主體的內容呢
新聞熱點
疑難解答