zoukankan      html  css  js  c++  java
  • C#实现简单的邮件发送功能

         唉,最近要做一个项目,里面需要实现邮件发送功能。在网络上也找一些看,自己也随便写下。也当做是给自己复习下吧,如有不对之处还请大家指出。谢谢!

         首先我是创建一个实体对象Model (EmailParameterSet) :

     1  public  class EmailParameterSet
     2     {
     3         /// <summary>
     4         /// 收件人的邮件地址 
     5         /// </summary>
     6         public string ConsigneeAddress { get; set; }
     7 
     8         /// <summary>
     9         /// 收件人的名称
    10         /// </summary>
    11         public string ConsigneeName { get; set; }
    12 
    13         /// <summary>
    14         /// 收件人标题
    15         /// </summary>
    16         public string ConsigneeHand { get; set; }
    17 
    18         /// <summary>
    19         /// 收件人的主题
    20         /// </summary>
    21         public string ConsigneeTheme { get; set; }
    22 
    23         /// <summary>
    24         /// 发件邮件服务器的Smtp设置
    25         /// </summary>
    26         public string SendSetSmtp { get; set; }
    27 
    28         /// <summary>
    29         /// 发件人的邮件
    30         /// </summary>
    31         public string SendEmail { get; set; }
    32 
    33         /// <summary>
    34         /// 发件人的邮件密码
    35         /// </summary>
    36         public string SendPwd { get; set; }
    37         /// <summary>
    38         /// 发件内容
    39         /// </summary>
    40         public string SendContent { get; set; }
    41     }

    方法也简单  如果发送成功就返回一个bool值 

     1  public bool MailSend(EmailParameterSet EPSModel ) 
     2         {
     3             try
     4             {
     5                 //确定smtp服务器端的地址,实列化一个客户端smtp 
     6                 System.Net.Mail.SmtpClient sendSmtpClient = new System.Net.Mail.SmtpClient(EPSModel.SendSetSmtp);//发件人的邮件服务器地址
     7                 //构造一个发件的人的地址
     8                 System.Net.Mail.MailAddress sendMailAddress = new MailAddress(EPSModel.SendEmail, EPSModel.ConsigneeHand, Encoding.UTF8);//发件人的邮件地址和收件人的标题、编码
     9 
    10                 //构造一个收件的人的地址
    11                 System.Net.Mail.MailAddress consigneeMailAddress = new MailAddress(EPSModel.ConsigneeAddress, EPSModel.ConsigneeName, Encoding.UTF8);//收件人的邮件地址和收件人的名称 和编码
    12 
    13                 //构造一个Email对象
    14                 System.Net.Mail.MailMessage mailMessage = new MailMessage(sendMailAddress, consigneeMailAddress);//发件地址和收件地址
    15                 mailMessage.Subject = EPSModel.ConsigneeTheme;//邮件的主题
    16                 mailMessage.BodyEncoding = Encoding.UTF8;//编码
    17                 mailMessage.SubjectEncoding = Encoding.UTF8;//编码
    18                 mailMessage.Body = EPSModel.SendContent;//发件内容
    19                 mailMessage.IsBodyHtml = false;//获取或者设置指定邮件正文是否为html
    20 
    21                 //设置邮件信息 (指定如何处理待发的电子邮件)
    22                 sendSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定如何发邮件 是以网络来发
    23                 sendSmtpClient.EnableSsl = false;//服务器支持安全接连,安全则为true
    24 
    25                 sendSmtpClient.UseDefaultCredentials = false;//是否随着请求一起发
    26 
    27                 //用户登录信息
    28                 NetworkCredential myCredential = new NetworkCredential(EPSModel.SendEmail, EPSModel.SendPwd);
    29                 sendSmtpClient.Credentials = myCredential;//登录
    30                 sendSmtpClient.Send(mailMessage);//发邮件
    31                 return true;//发送成功
    32             }
    33             catch (Exception)
    34             {
    35                 return false;//发送失败
    36             }
    37         }

    然后就调用就可以。

     1   private void button3_Click(object sender, EventArgs e)
     2         {
     3             EmailParameterSet model = new EmailParameterSet();
     4             model.SendEmail = whise3@163.com;
     5             model.SendPwd = "xxx";//密码
     6             model.SendSetSmtp = "smtp.163.com";//发送的SMTP服务地址 ,每个邮箱的是不一样的。。根据发件人的邮箱来定
     7             model.ConsigneeAddress = likeeg@126.com;
     8             model.ConsigneeTheme = "主题";
     9             model.ConsigneeHand = "标题";
    10             model.ConsigneeName = "xxx";
    11             model.SendContent = "htpp://www.baidu.com";
    12             if (MailSend(model)== true)
    13             {
    14                 MessageBox.Show("邮件发送成功!");
    15             }
    16             else
    17             {
    18                 MessageBox.Show("邮件发送失败!");
    19             }
    20         }
  • 相关阅读:
    2018-10-25 模拟测试题解
    bzoj1218 [HNOI2003]激光炸弹题解
    poj1958 Strange Towers of Hanoi 题解
    NOIP2018游记
    6-序列公共用法:索引和切片
    5-编码格式
    4-格式化
    3-课后习题记录-就放这里了
    2-条件语句和循环语句
    1-基本数据类型的操作
  • 原文地址:https://www.cnblogs.com/LikeNeng/p/3839815.html
Copyright © 2011-2022 走看看