C#中发送邮件的实现方法详解

C#中发送邮件的实现方法详解,第1张

概述C#中发送邮件的实现方法详解 这篇文章主要为大家详细介绍了C#实现发送邮件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了AndroID九宫格图片展示的具体代码,供大家参考,具体内容如下


#region 发送邮件部分    private static String fromMail = "1111@126.com";  ///邮箱名称    private static String mailPwd = "111111";     ///密码    private static string toMail = "2222@163.com";  ///邮箱服务器    private static string fileStr;//当前图片路径,在添加附件时用    /// <summary>    /// 发送邮件    /// </summary>    /// <param name="fileUrl">附件地址,以~分</param>    /// <param name="screen">是否发送截屏</param>    /// <returns></returns>    public static string SendMail(string fileUrl, string screen)    {           MailAddress from = new MailAddress(fromMail);      MailAddress to = new MailAddress(toMail);      MailMessage message = new MailMessage(from, to);      message.Subject = "M邮件 " +11111;//主题      message.SubjectEnCoding = System.Text.EnCoding.UTF8;      Attachment attachfile = new Attachment(fileStr);      if (screen == "True")        message.Attachments.Add(attachfile);      string[] files = fileUrl.Split('~');      for (int i = 0; i < files.Length; i++)      {        if (file.Exists(files[i]))        {          Attachment attachfile1 = new Attachment(fileUrl);          message.Attachments.Add(attachfile1);        }      }      try      {        SmtpClIEnt clIEnt = new SmtpClIEnt("smtp." + from.Host);        SendMail(clIEnt, from, mailPwd, to, message);               return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();      }      catch (SmtpException ex)      {        //如果错误原因是没有找到服务器,则尝试不加smtp.前缀的服务器        if (ex.StatusCode == SmtpStatusCode.GeneralFailure)        {          try          {            //有些邮件服务器不加smtp.前缀            SmtpClIEnt clIEnt = new SmtpClIEnt(from.Host);            SendMail(clIEnt, from, mailPwd, to, message);                      return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();          }          catch (SmtpException err)          {                       return "发送邮件失败!" + err.Message + "  " + DateTime.Now.ToString();          }        }        else        {                   return "发送邮件失败!" + ex.Message + "  " + DateTime.Now.ToString();        }      }    }    //根据指定的参数发送邮件    private static voID SendMail(SmtpClIEnt clIEnt, MailAddress from, string password,       MailAddress to, MailMessage message)    {      //不使用默认凭证,注意此句必须放在clIEnt.Credentials的上面      clIEnt.UseDefaultCredentials = false;      //指定用户名、密码      clIEnt.Credentials = new NetworkCredential(from.Address, password);      //邮件通过网络发送到服务器      clIEnt.DeliveryMethod = SmtpDeliveryMethod.Network;      try      {        clIEnt.Send(message);      }      catch      {        throw;      }      finally      {        //及时释放占用的资源        message.dispose();      }    }    #endregion
总结

以上是内存溢出为你收集整理的C#中发送邮件的实现方法详解全部内容,希望文章能够帮你解决C#中发送邮件的实现方法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1210912.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存