成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP調用C# DLL發送郵件方法共享

開發 后端
筆者參考共享了asp調用C#編寫的DLL發送郵件的方法,希望對大家有用。

 一直想寫一個asp能發送郵件的服務器組件,不過用VC太麻煩了,一直都沒都手。

前兩天看一篇文章,說是asp怎么調用C#寫的DLL,一試之下,果然可以,大喜,這下用來寫一個發送郵件的東東簡單了吧。

呵呵,非常簡單,一會就弄好了,不敢獨享,先看代碼:

  1. using System;     
  2. using System.Net.Mail;     
  3. using System.Text;     
  4.     
  5. namespace IMELS     
  6. {     
  7.     public class SendMail     
  8.     {     
  9.         public SendMail() { }     
  10.     
  11.         private string _to = string.Empty;     
  12.     
  13.         /// < summary>     
  14.         /// 收件人地址,多個用“,”號隔開     
  15.         /// < /summary>     
  16.         public string To     
  17.         {     
  18.             set { _to = value; }     
  19.         }     
  20.     
  21.         private string _from = string.Empty;     
  22.     
  23.         /// < summary>     
  24.         /// 發件人地址     
  25.         /// < /summary>     
  26.         public string From     
  27.         {     
  28.             set { _from = value; }     
  29.         }     
  30.     
  31.         private string _fromName = string.Empty;     
  32.     
  33.         /// < summary>     
  34.         /// 發件人顯示名稱     
  35.         /// < /summary>     
  36.         public string FromName     
  37.         {     
  38.             set { _fromName = value; }     
  39.         }     
  40.     
  41.         private string _cc = string.Empty;     
  42.     
  43.         /// < summary>     
  44.         /// 抄送,多個用“,”號隔開     
  45.         /// < /summary>     
  46.         public string CC     
  47.         {     
  48.             set { _cc = value; }     
  49.         }     
  50.     
  51.         private string _bcc = string.Empty;     
  52.     
  53.         /// < summary>     
  54.         /// 密抄,多個用“,”號隔開     
  55.         /// < /summary>     
  56.         public string BCC     
  57.         {     
  58.             set { _bcc = value; }     
  59.         }     
  60.     
  61.         private string _charset = "GB2312";     
  62.     
  63.         /// < summary>     
  64.         /// 郵件正文的編碼     
  65.         /// < /summary>     
  66.         public string Charset     
  67.         {     
  68.             set { _charset = value; }     
  69.         }     
  70.     
  71.         private string _contentType = "html";     
  72.         /// < summary>     
  73.         /// 郵件格式(html or txt)     
  74.         /// < /summary>     
  75.         public string ContentType     
  76.         {     
  77.             set { _contentType = value; }     
  78.         }     
  79.     
  80.         private string _subject = string.Empty;     
  81.         /// < summary>     
  82.         /// 郵件標題     
  83.         /// < /summary>     
  84.         public string Subject     
  85.         {     
  86.             set { _subject = value; }     
  87.         }     
  88.     
  89.         private string _body = string.Empty;     
  90.         /// < summary>     
  91.         /// 郵件內容     
  92.         /// < /summary>     
  93.         public string Body     
  94.         {     
  95.             set { _body = value; }     
  96.         }     
  97.     
  98.         private string _smtp;     
  99.         /// < summary>     
  100.         /// SMTP服務器地址     
  101.         /// < /summary>     
  102.         public string Smtp     
  103.         {     
  104.             set { _smtp = value; }     
  105.         }     
  106.     
  107.         private string _username;     
  108.         /// < summary>     
  109.         /// SMTP用戶名     
  110.         /// < /summary>     
  111.         public string Username     
  112.         {     
  113.             set { _username = value; }     
  114.         }     
  115.         /// < summary>     
  116.         ///  SMTP密碼     
  117.         /// < /summary>     
  118.         private string _password;     
  119.     
  120.         public string Password     
  121.         {     
  122.             set { _password = value; }     
  123.         }     
  124.     
  125.         private int _port = 25;     
  126.         /// < summary>     
  127.         /// SMTP商品     
  128.         /// < /summary>     
  129.         public int Port     
  130.         {     
  131.             set { _port = value; }     
  132.         }     
  133.     
  134.         /// < summary>     
  135.         /// 發送     
  136.         /// < /summary>     
  137.         public void Send()     
  138.         {     
  139.             MailAddress from = new MailAddress(_from, _fromName);     
  140.             MailMessage message = new MailMessage();     
  141.             message.From = from;     
  142.                  
  143.             string[] toadd = _to.Split(',');     
  144.             foreach (string _add in toadd)     
  145.             {     
  146.                 try    
  147.                 {     
  148.                     message.To.Add(new MailAddress(_add));     
  149.                 }     
  150.                 catch(Exception e)     
  151.                 {     
  152.                     _error += "To Address Error : " + e.Message + "(" + _add + ");";     
  153.                 }     
  154.             }     
  155.     
  156.             if (_cc != string.Empty)     
  157.             {     
  158.     
  159.                 string[] ccadd = _cc.Split(',');     
  160.     
  161.                 foreach (string _add in ccadd)     
  162.                 {     
  163.                     try    
  164.                     {     
  165.                         message.CC.Add(new MailAddress(_add));     
  166.                     }     
  167.                     catch (Exception e)     
  168.                     {     
  169.                         _error += "CC Address Error : " + e.Message + "(" + _add + ");";     
  170.                     }     
  171.                 }     
  172.             }     
  173.             if (_bcc != string.Empty)     
  174.             {     
  175.                 string[] bccadd = _bcc.Split(',');     
  176.     
  177.                 foreach (string _add in bccadd)     
  178.                 {     
  179.                     try    
  180.                     {     
  181.                         message.Bcc.Add(new MailAddress(_add));     
  182.                     }     
  183.                     catch (Exception e)     
  184.                     {     
  185.                         _error += "BCC Address Error : " + e.Message + "(" + _add + ");";     
  186.                     }     
  187.                 }     
  188.             }     
  189.     
  190.             message.Sender = from;     
  191.             message.Subject = _subject;     
  192.             message.Body = _body;     
  193.     
  194.             if (_contentType == "html" || _contentType == string.Empty)     
  195.             {     
  196.                 message.IsBodyHtml = true;     
  197.             }     
  198.             else    
  199.             {     
  200.                 message.IsBodyHtml = false;     
  201.             }     
  202.     
  203.             message.BodyEncoding = Encoding.GetEncoding(_charset);     
  204.             message.DeliveryNotificationOptions = DeliveryNotificationOptions.None;     
  205.             SmtpClient __smtp = new SmtpClient();     
  206.             __smtp.Host = _smtp;     
  207.             __smtp.Port = _port;     
  208.             __smtp.UseDefaultCredentials = false;     
  209.             __smtp.Credentials = new System.Net.NetworkCredential(_username, _password);     
  210.             __smtp.DeliveryMethod = SmtpDeliveryMethod.Network;     
  211.             try    
  212.             {     
  213.                 __smtp.Send(message);     
  214.             }     
  215.             catch (SmtpException e)     
  216.             {     
  217.                 _error += "SMTP Error:" + e.Message + ";";     
  218.             }     
  219.                  
  220.         }     
  221.     
  222.         private string _error = string.Empty;     
  223.         /// < summary>     
  224.         /// 返回錯誤信息     
  225.         /// < /summary>     
  226.         public string Error     
  227.         {     
  228.             get { return _error; }     
  229.         }     
  230.         /// < summary>     
  231.         /// 清空錯誤信息     
  232.         /// < /summary>     
  233.         public void ClearErr()     
  234.         {     
  235.             _error = string.Empty;     
  236.         }     
  237.     }     
  238. }    

說一下ASP調用C# DLL發送郵件具體實現過程:

1、首先新建一個類庫項目;打開項目屬性頁,在“應用程序”標簽設置程序集名稱為“IMELS”(當然,這個你可以設置為你喜歡的名字),輸出類型為類庫,如圖:

輸出類型為類庫 

點擊“程序集信息”,勾選“使程序集COM可見”,如圖:

點擊“程序集信息”,勾選“使程序集COM可見”,如圖 

2、“簽名”標簽,勾選“為程序簽名”,如圖:

2、“簽名”標簽,勾選“為程序簽名”, 

然后“在選擇強名稱密鑰文件”下拉列表中選擇密鑰文件,如果沒有密鑰文件,就選擇“新建”,這里我選擇新建,如圖:

這里我選擇新建,如圖: 

在“密鑰文件名稱”欄里輸入密鑰的名稱,你可以選擇為密鑰添加密碼保護它,我這里沒有使用密碼。

然后為項目添加一個類“SendMail ”,代碼就如上了。

3、代碼完成后,生成DLL文件,把DLL放到D:盤或別的什么盤,不過最好不要放在系統盤,然后就是注冊了,注冊C#寫的DLL是不能用regsvr32的,要用regasm,格式為:regasm /codebase d:\DLL\IMELS.dll。

這樣DLL的編寫和注冊都已完成了,下面就是應用了,asp中調用方法如下:

  1. < %     
  2. dim send     
  3. set send = Server.CreateObject("IMELS.SendMail")     
  4.     
  5. send.From = "test@163.com"    
  6. send.FromName = "無問"    
  7. send.Smtp = "smtp.163.com"    
  8. send.Username = "用戶名"    
  9. send.Password = "密碼"    
  10. send.Subject = "asp調用C#編寫的DLL發送郵件測試標題"    
  11. send.ContentType = "html"    
  12. send.Charset = "gb2312"    
  13. send.Body = "asp調用C#編寫的DLL發送郵件測試正文"    
  14. send.To = "to@163.com"    
  15. send.CC = "抄送地址"    
  16. send.BCC = "密抄地址"    
  17. send.Send()     
  18. Response.Write(send.Error)     
  19. %>    

好了,大功告成,ASP調用C# DLL發送郵件功能就實現了!

【編輯推薦】

  1. C#程序中的數據顯 示:自定義標簽和XML、XSL
  2. C#自定義事件是如何生成的
  3. C# 自定義控件dll文件的生成步驟
  4. C#自定義快捷鍵的實現
  5. C#自定義事件的步驟介紹
責任編輯:book05 來源: csdn
相關推薦

2009-08-03 12:57:27

C#調用DLL

2009-08-05 09:40:02

C#調用DLL函數

2009-08-05 09:30:39

C#調用DLL函數

2009-08-21 09:44:44

C#發送Email郵件

2011-04-08 09:52:44

C++C#DLL

2009-07-31 17:28:35

C#語言調用DLL

2009-08-07 17:22:36

C#調用dll導出函數

2009-09-18 19:09:41

C# COM組件

2009-08-05 16:41:36

C#調用VC dll

2009-09-02 17:16:01

冒泡排序

2009-08-05 15:04:14

C# dll注入

2009-08-05 09:22:43

C#調用VC DLL

2009-08-05 16:49:42

C#中調用dll

2009-07-27 14:13:56

調用c#方法Java scriptASP.NET

2009-08-05 09:09:14

C#調用VC DLL接

2009-08-31 16:33:28

C#調用Dispose

2009-08-31 18:05:14

C#調用WalkTre

2009-09-03 17:23:45

C#發送郵件

2009-09-03 17:10:57

2009-09-01 11:04:59

C#調用擴展方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 爱爱小视频 | 成人高清视频在线观看 | 国产精品美女www爽爽爽 | 午夜影院普通用户体验区 | 欧美日韩成人在线观看 | 亚洲热在线视频 | 国产免费一区二区 | 日韩一区二区在线观看 | 亚洲国产精品99久久久久久久久 | 日韩高清成人 | 一区视频 | 精品国产一区久久 | 精品在线一区二区三区 | 一级毛片在线播放 | 日韩精品视频在线观看一区二区三区 | 成人精品鲁一区一区二区 | 桃色五月 | 亚洲综合二区 | 久久精品亚洲欧美日韩久久 | 亚洲欧美国产毛片在线 | 精品一区二区久久久久久久网站 | 91精品久久久久久久久久入口 | 国产91色在线 | 亚洲 | 国产视频久久 | 少妇无套高潮一二三区 | 国产精品久久久亚洲 | 国产精品污www在线观看 | 四虎影视免费在线 | 亚洲三区在线观看 | 精品国产一区二区三区免费 | 亚洲精品视频免费观看 | 精品成人| 天天操夜夜操 | 日韩在线视频免费观看 | 国产91综合 | 亚洲欧美日韩精品久久亚洲区 | 天天草狠狠干 | 黄色一级毛片 | 日本久久精品视频 | 草久在线视频 | 日韩电影免费观看中文字幕 |