世上最好的发邮件代码

简介: 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 }  
目录
相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
torch.nn.Linear的使用方法
torch.nn.Linear的使用方法
528 0
|
10月前
|
供应链 监控 搜索推荐
物联网技术在物流领域的应用会带来哪些影响?
物联网技术在物流领域的应用会带来哪些影响?
886 58
|
8月前
|
监控 安全 数据中心
基于Intel RDT平台技术的系统资源隔离能力提升|龙蜥大讲堂103期
龙蜥大讲堂103期探讨了基于Intel RDT平台技术在Koordinator项目NRI模式中提升系统资源隔离能力。课程分为三部分:1) NRI与Koordinator,介绍NRI框架及其应用;2) RDT与Koordinator,讲解RDT技术如何优化资源分配,提高集群效率;3) RDT技术发展,展望未来RDT技术的演进方向及在Koordinator中的集成进展。
157 0
|
11月前
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
464 6
|
11月前
|
机器学习/深度学习 物联网 数据处理
C语言用于物联网更合适还是python
选择 C 语言还是 Python 作为物联网(IoT)开发的语言取决于多个因素,包括项目的性质、资源限制、性能需求以及开发团队的技能水平。C 语言性能优越,适合资源受限的嵌入式设备,能直接访问硬件,广泛应用于底层开发,但开发复杂且容易出错。Python 则以其简单的语法和丰富的库支持快速开发和原型制作,适合跨平台应用和数据处理,但性能较低,资源占用较大。根据项目需求,性能和资源要求高时选择 C 语言,需快速开发和易于维护时选择 Python。
|
12月前
|
数据可视化 Ubuntu Linux
8-14|如何查看linux目录下文件大小
8-14|如何查看linux目录下文件大小
|
前端开发 JavaScript 开发者
Angular状态管理神器ngrx Store:从零开始的实践指南与进阶优化秘籍,让你的前端应用状态井井有条、高效运行的绝招大揭秘
【8月更文挑战第31天】状态管理在现代Web应用开发中至关重要,特别是在构建大型、复杂的Angular应用时。ngrx Store借鉴Redux的设计理念,提供集中式状态管理和可预测的数据流,有助于增强应用的可维护性和可测试性。
332 0
|
传感器 Linux 测试技术
xenomai 在X86平台下中断响应时间测试
该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
340 0
xenomai 在X86平台下中断响应时间测试
|
存储 安全 算法
深入探索Java中的MarkWord与锁优化机制——无锁、偏向锁、自旋锁、重量级锁
深入探索Java中的MarkWord与锁优化机制——无锁、偏向锁、自旋锁、重量级锁
468 1