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

互联网 17-9-15
这篇文章主要为大家详细介绍了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#中发送邮件的实现方法详解的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 详解
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C#实现Json序列化删除null值的方法实例

相关资讯