世上最好的发邮件代码

简介: Code  1 using System;    2     3 using System.Net;    4     5 using System.Net.Mail;    6     7 using System.
img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
  1 using System;  
  2   
  3 using System.Net;  
  4   
  5 using System.Net.Mail;  
  6   
  7 using System.Net.Mime;  
  8   
  9   
 10   
 11 namespace Fish
 12   
 13 {  
 14   
 15     /// <summary>  
 16   
 17     /// 发送邮件的类  
 18   
 19     /// </summary>  
 20   
 21     public class SendMail  
 22   
 23     {  
 24   
 25         private MailMessage mailMessage;  
 26   
 27         private SmtpClient smtpClient;  
 28   
 29         private string password;//发件人密码  
 30   
 31   
 32   
 33         /// <summary>  
 34   
 35         /// 处审核后类的实例  
 36   
 37         /// </summary>  
 38   
 39         /// <param name="To">收件人地址</param>  
 40   
 41         /// <param name="From">发件人地址</param>  
 42   
 43         /// <param name="Body">邮件正文</param>  
 44   
 45         /// <param name="Title">邮件的主题</param>  
 46   
 47         /// <param name="Password">发件人密码</param>  
 48   
 49         public SendMail(string To, string From, string Body, string Title, string 
 50 Password)  
 51   
 52         {  
 53   
 54             mailMessage = new MailMessage();  
 55   
 56             mailMessage.To.Add(To);  
 57   
 58             mailMessage.From = new System.Net.Mail.MailAddress(From);  
 59   
 60             mailMessage.Subject = Title;  
 61   
 62             mailMessage.Body = Body;  
 63   
 64             mailMessage.IsBodyHtml = true;  
 65   
 66             mailMessage.BodyEncoding = System.Text.Encoding.UTF8;  
 67   
 68             mailMessage.Priority = System.Net.Mail.MailPriority.Normal;  
 69   
 70             this.password = Password;  
 71   
 72         }  
 73   
 74   
 75   
 76         /// <summary>  
 77   
 78         /// 添加附件  
 79   
 80         /// </summary>  
 81   
 82         public void Attachments(string Path)  
 83   
 84         {  
 85   
 86             string[] path = Path.Split(',');  
 87   
 88   
 89   
 90             Attachment data;  
 91   
 92             ContentDisposition disposition;  
 93   
 94   
 95   
 96             for (int i = 0; i < path.Length; i++)  
 97   
 98             {  
 99   
100                 data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化
101 附件  
102   
103                 disposition = data.ContentDisposition;  
104   
105                 disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取
106 附件的创建日期  
107   
108                 disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//
109 获取附件的修改日期  
110   
111                 disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附
112 件的读取日期  
113   
114                 mailMessage.Attachments.Add(data);//添加到附件中  
115   
116             }  
117   
118         }  
119   
120   
121   
122   
123   
124         /// <summary>  
125   
126         /// 异步发送邮件  
127   
128         /// </summary>  
129   
130         /// <param name="CompletedMethod"></param>  
131   
132         public void SendAsync(SendCompletedEventHandler CompletedMethod)  
133   
134         {  
135   
136             if (mailMessage != null)  
137   
138             {  
139   
140                 smtpClient = new SmtpClient();  
141   
142                 smtpClient.Credentials = new System.Net.NetworkCredential
143 (mailMessage.From.Address, password);//设置发件人身份的票据  
144   
145                 smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  
146   
147                 smtpClient.Host = "smtp." + mailMessage.From.Host;  
148   
149                 smtpClient.SendCompleted += new SendCompletedEventHandler
150 (CompletedMethod);//注册异步发送邮件完成时的事件  
151   
152                 smtpClient.SendAsync(mailMessage, mailMessage.Body);  
153   
154             }  
155   
156         }  
157   
158   
159   
160         /// <summary>  
161   
162         /// 发送邮件  
163   
164         /// </summary>  
165   
166         public void Send()  
167   
168         {  
169   
170             if (mailMessage != null)  
171   
172             {  
173   
174                 smtpClient = new SmtpClient();  
175   
176                 smtpClient.Credentials = new System.Net.NetworkCredential
177 (mailMessage.From.Address, password);//设置发件人身份的票据  
178   
179                 smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  
180   
181                 smtpClient.Host = "smtp." + mailMessage.From.Host;  
182   
183                 smtpClient.Send(mailMessage);  
184   
185             }  
186   
187         }  
188   
189     }  
190   
191 }  
目录
相关文章
|
程序员 BI C#
就因一行代码,被开除
就因一行代码,被开除
62 0
|
搜索推荐 Cloud Native Go
面试结束后:如何写一封有效的感谢信
面试结束后:如何写一封有效的感谢信
97 0
|
Python
十行代码帮你迅速回应大家的祝福,你可以安心抢红包了~
十行代码帮你迅速回应大家的祝福,你可以安心抢红包了~
93 0
|
信息无障碍
最常见的面试问题与技巧性答复 | HR的小心思,你真的懂吗?
最常见的面试问题与技巧性答复 | HR的小心思,你真的懂吗?
220 0
|
存储 人机交互 API
8个SwiftUI的小技巧让隔壁同事两眼放光,直呼太卷了
在日常的SwiftUI开发过程中,常常会出现一些“小BUG”让我们措手不及、头顶发凉。这些问题可能是由于我们自己不熟悉SwiftUI语法导致的,也有是SwiftUI本身自带的缺陷,毕竟是一个新兴语言。 那么本章就介绍一些SwiftUI开发的小技巧,帮助我们避避那些让我们头秃的坑。
1188 0
8个SwiftUI的小技巧让隔壁同事两眼放光,直呼太卷了
|
存储 Java 编译器
学妹一反常态主动联系我,我要不要答应帮她?
之前在学校举办的活动上,认识了一个学妹。我死磨硬泡终于加了她的微信,经常给她发微信。 可是她总是对我爱答不理的,我心里总有一天让你高攀不起,后来就很少联系了。今天突然主动联系我:
363 0
学妹一反常态主动联系我,我要不要答应帮她?
程序人生 - 脑瘫外卖小哥被封号谢绝网友捐款
程序人生 - 脑瘫外卖小哥被封号谢绝网友捐款
95 0
|
人工智能 Kubernetes 安全
30行代码如何写一封七夕密书?
首先你得有个对象,new的也可以
1110 0
30行代码如何写一封七夕密书?
|
Java 程序员 Spring
Java开发程序员遇危机,才31竟遭公司嫌弃,网友:还拿着6k等死?
程序员会有中年危机,一个很大的因素来自:我们曾经引以为傲、赖以生存的开发技术会被淘汰。而学习新开发技术成本太高。看着快速崛起的年轻人,不免使人心生:廉颇老矣的感慨。
1201 0

相关课程

更多

相关实验场景

更多