国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Asp.Net 發送 smpt郵件

2019-11-17 03:56:40
字體:
來源:轉載
供稿:網友
using System.Web.Mail ;
PRivate void Button1_Click(object sender, System.EventArgs e)
  {
  
   //實例化MailMessage對象
   System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();

   //定義郵件的發送地址 , 可以隨便填一個不存在的地址,垃圾郵件就是這樣子做的吧^_^
   mail.From="widebright@widebright.com";

   //定義郵件的接收地址
   //設置以分號分隔的收件人電子郵件地址列表
   mail.To="gmd20@163.com";

   //定義郵件的暗送地址
   //設置以分號分隔的電子郵件地址列表
   //mail.Bcc="ddd@sina.com";

   //定義郵件的抄送地址
   //設置以分號分隔的電子郵件地址列表
   //mail.Cc="ddd@x.cn;ddd@eyou.com

   //定義郵件的主題
    mail.Subject="widebright 的郵件測試 asp.net發送郵件學習";

   //設置電子郵件正文的內容類型
   //在這里我們以HTML的格式發送
   mail.BodyFormat=System.Web.Mail.MailFormat.Html;

   //設置電子郵件的正文
   mail.Body="測試一下,看行不行喲";

   
      //用 @ 引起來的字符串以 @ 開頭,并且也用雙引號引起來。例如:
      //用 @ 引起來的優點在于換碼序列“不” 被處理,這樣就可以輕松寫出字符串,例如一個完全限定的文件名:
      //@"c:/Docs/Source/a.txt"  // rather than "c://Docs//Source//a.txt"
     //若要在一個用 @ 引起來的字符串中包括一個雙引號,請使用兩對雙引號:
     //  @"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.
    //  @ 符號的另一種用法是使用碰巧成為 C# 關鍵字的被引用的 (/reference) 標識符。
      //  http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx

            //設置一個附件
      System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@" F:/dddddd.txt");
    
   //郵件附加上一個附件
       mail.Attachments.Add(mailAttachment);
             
    //多個附件在這里繼續添加
              mailAttachment=new System.Web.Mail.MailAttachment(@"F:/asp_net 發送郵件代碼_百度知道.mht");
              mail.Attachments.Add(mailAttachment);


   //SMTP服務器 ,因為用的是本機架設的,所以寫127.0.0.1 , 如果連接的是其他服務器的話,像163郵箱,要寫smpt.163.com
     System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";   

   //說是許多SMTP服務器都需要身份驗證 ,防止垃圾郵件,好像叫做擴展smpt協議什么的。
   //但這里連接的是自己的smpt服務器,簡單的smpt,所以也沒有什么驗證了。
   //至于從本機的SMPT服務器再把郵件發送到163或者其他郵箱 的時候要不要驗證就不知道了, 實測時郵件時可以發到
   //@163.com , @eyou.com,@x.cn的,也不用什么驗證。

   //驗證
   //mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
   //登陸名
   //mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "widebright");
   //登陸密碼
   //mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassWord", "widebright");

   //發送
   System.Web.Mail.SmtpMail.Send(mail);
  
  }


上面的代碼是采用  .Net 中提供的  System.Web.Mail.SmtpMail類來發送郵件,自動連接
SMPT服務器來發送郵件。以有的人是自己用TCP類,或者socket寫代碼實現smpt協議,不過那樣子
要處理很多編碼啊,協議啊等,比較麻煩。我以前用VB時也做過一個,smpt協議比較簡單,不過
那些附件的編碼就還要寫很多代碼。
    
     這里只是smtp發信代碼而已,如果要做收信等 好要pop3   服務器提供對pop3協議的支持才行。
smtp服務器是安裝完IIS就有的了,pop3切沒有自帶,安裝起來也會麻煩一些吧,沒試過!
    
SMTP服務器的配置

    我是安裝完IIS 5.1后就自己啟用了,在IIS信息服務管理器中配置一下就可以了。
1。 在 Domains 里面增加幾個域名:右鍵當擊“Default SMTP Virtual Server”  中的Domains
選 “New”  新建, ---》 Domain Type 選 “Remote”,
Domain name 分別填 163.com  eyou.com  x.cn, 因為我要給這些服務器發郵件,和上面代碼中


===============
    mail.To="gmd20@163.com";
===============

相對應的,你要發送郵件給誰,就要設置相應的域名,不設置的時候郵件是發送不出去的。
2。 右鍵單擊  163.com 等域名,選 “屬性” ,勾上 “Allow incoming mail to be relayed to this domain”,勾上后郵件才能發送出去,否則還是有錯。
下面的 Route domain 選默認的 Use DNS to route to domain 就可以了。


         關鍵是在IIS中要設置好對應的smtp服務器域名,就可以發送郵件了。我在asp.net頁面上測試了
好幾個郵箱都是可以正常發送出去的。 像163郵箱一點按鈕發送,就會收得到了。

剛發現可以添加
*.com    
*.net
*cn
域名來匹配大多數的郵箱。
如增加了*.com   域名之后,就可以給  @163.com  ,@eyou.com發信了
     


   

Windows xp+ visual sutdio 2003 + iis5.1 環境下測試通過,
不過只有發現發送到新浪郵箱的信件收不到,不知道為什么。

出現 SMTP典型錯誤 550 5 7 1 Uable to relay  
則除了domains 域名沒有設置好還有可能是
SMTP虛擬服務器的設置中沒有選中“allow computers which successfully authenticate to relay”復選框。如下所示,
先打開SMTP Virtual Server的屬性頁的access頁:
然后點擊“Relay”按鈕,看“Allow all computers which successfully authenticate to relay,regardless of the list above”是否選中:


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/kgdlin/archive/2007/03/23/1539120.aspx



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yuff0408/archive/2009/12/23/5060035.aspx
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 分宜县| 清丰县| 楚雄市| 海门市| 普陀区| 丹巴县| 灯塔市| 河间市| 永吉县| 八宿县| 蓬溪县| 武宣县| 高州市| 芜湖市| 岫岩| 普安县| 凭祥市| 丰台区| 文昌市| 呈贡县| 高安市| 阳江市| 广东省| 宁津县| 仪征市| 阿坝| 安岳县| 兰考县| 朝阳县| 温宿县| 甘孜县| 武宁县| 秦安县| 乐安县| 弥勒县| 日喀则市| 高安市| 抚远县| 井陉县| 揭东县| 乌拉特前旗|