首页 > 编程 > C# > 正文

C#实现发送邮件的方法

2020-01-24 00:28:19
字体:
来源:转载
供稿:网友

本文实例为大家分享了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表