C#发邮件功能

using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Net;
using  System.Net.Mail;
using  System.Net.Mime;  
 
using  System.Text;
using  System.Windows.Forms;
 
namespace  Mail
{
     public  partial  class  Form1 : Form
     {
         public  Form1()
         {
             InitializeComponent();
         }
 
         private  MailMessage mailMessage;  
         private  SmtpClient smtpClient;  
         private  string  password; //发件人密码  
         /**/ /// <summary>  
         /// 处审核后类的实例  
         /// </summary>  
         /// <param name="To">收件人地址</param>  
         /// <param name="From">发件人地址</param>  
         /// <param name="Body">邮件正文</param>  
         /// <param name="Title">邮件的主题</param>  
         /// <param name="Password">发件人密码</param>  
         public  void  SendMail( string  To,  string  From,  string  Body,  string  Title,  string  Password)  
         {  
             mailMessage =  new  MailMessage();  
             mailMessage.To.Add(To);  
             mailMessage.From =  new  System.Net.Mail.MailAddress(From);  
             mailMessage.Subject = Title;  
             mailMessage.Body = Body;  
             mailMessage.IsBodyHtml =  true ;  
             mailMessage.BodyEncoding = System.Text.Encoding.UTF8;  
             mailMessage.Priority = System.Net.Mail.MailPriority.Normal;  
             this .password = Password;  
         }  
 
         /**/ /// <summary>  
         /// 添加附件  
         /// </summary>  
         public  void  Attachments( string  Path)  
         {  
             string [] path = Path.Split( ',' );  
             Attachment data;  
             ContentDisposition disposition;  
             for  ( int  i = 0; i < path.Length; i++)  
             {  
                 data =  new  Attachment(path[i], MediaTypeNames.Application.Octet); //实例化附件  
                 disposition = data.ContentDisposition;  
                 disposition.CreationDate = System.IO.File.GetCreationTime(path[i]); //获取附件的创建日期  
                 disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]); //获取附件的修改日期  
                 disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]); //获取附件的读取日期  
                 mailMessage.Attachments.Add(data); //添加到附件中  
             }  
         }  
 
         /**/ /// <summary>  
         /// 异步发送邮件  
         /// </summary>  
         /// <param name="CompletedMethod"></param>  
         public  void  SendAsync(SendCompletedEventHandler CompletedMethod)  
         {  
             if  (mailMessage !=  null )  
             {  
                 smtpClient =  new  SmtpClient();  
                 smtpClient.Credentials =  new  System.Net.NetworkCredential(mailMessage.From.Address, password); //设置发件人身份的票据  
                 smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  
                 smtpClient.Host =  "smtp."  + mailMessage.From.Host;  
                 smtpClient.SendCompleted +=  new  SendCompletedEventHandler(CompletedMethod); //注册异步发送邮件完成时的事件  
                 smtpClient.SendAsync(mailMessage, mailMessage.Body);  
             }  
         }  
 
         /**/ /// <summary>  
         /// 发送邮件  
         /// </summary>  
         public  void  Send()  
         {  
             if  (mailMessage !=  null )  
             {  
                 smtpClient =  new  SmtpClient();  
                 smtpClient.Credentials =  new  System.Net.NetworkCredential(mailMessage.From.Address, password); //设置发件人身份的票据  
                 smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  
                 smtpClient.Host =  "smtp."  + mailMessage.From.Host;  
                 smtpClient.Send(mailMessage);  
             }  
         }
 
         private  void  btnSendMail_Click( object  sender, EventArgs e)
         {
             try
             {
                 this .SendMail( "fgzcard@21cn.com" "lmm4227261@126.com" this .textBox1.Text.Trim(),  "你好" "6693065" );
                 this .Send();
                 MessageBox.Show( "发送成功!" );
             }
             catch  (Exception myException)
             {
                 MessageBox.Show(myException.ToString());
             }
         }  
 
     }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值