asp調用C#編寫的DLL發送郵件

來源:互聯網
上載者:User

一直想寫一個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 }
239

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.