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         }
  • 相关阅读:
    Codeforces Round #649 (Div. 2) D. Ehab's Last Corollary
    Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays
    Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors
    Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster
    Codeforces Round #647 (Div. 2) F. Johnny and Megan's Necklace
    Codeforces Round #648 (Div. 2) G. Secure Password
    Codeforces Round #646 (Div. 2) F. Rotating Substrings
    C++STL常见用法
    各类学习慕课(不定期更新
    高阶等差数列
  • 原文地址:https://www.cnblogs.com/LikeNeng/p/3839815.html
Copyright © 2011-2022 走看看