C#实现发送邮件的方法

 更新时间:2017年09月13日 13:13:54   作者:高软玩家  
这篇文章主要为大家详细介绍了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

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

相关文章

  • 关于System.Convert的那些事儿

    关于System.Convert的那些事儿

    本篇文章是对System.Convert的那些事儿,进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#泛型约束的深入理解

    C#泛型约束的深入理解

    本篇文章是对C#中的泛型约束进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#正则匹配RegexOptions选项的组合使用方法

    C#正则匹配RegexOptions选项的组合使用方法

    本文主要简单介绍RegexOptions各种选项的作用,并介绍如何组合使用,为初学者解除一些疑惑。
    2016-04-04
  • c#通过DES加密算法加密大文件的方法

    c#通过DES加密算法加密大文件的方法

    这篇文章主要介绍了c#通过DES加密算法加密大文件的方法,涉及C#文件操作与DES加密的相关技巧,需要的朋友可以参考下
    2015-05-05
  • c# 委托详解

    c# 委托详解

    本文将通过实例解析对c# 委托进行详细介绍,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Unity3D实现相机跟随控制

    Unity3D实现相机跟随控制

    这篇文章主要为大家详细介绍了Unity3D实现相机跟随控制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • c#数据绑定之将datatabel的data添加listView

    c#数据绑定之将datatabel的data添加listView

    这篇文章主要介绍了c#将DataTabel的data添加ListView的示例,实现功能是通过响应UI Textbox 的值向ListView 绑定新添加的纪录。 ,需要的朋友可以参考下
    2014-04-04
  • C#套接字(Socket)通信之UDP组播详解

    C#套接字(Socket)通信之UDP组播详解

    单播 Unicast是指客户端与服务器之间的点到点连接,组播和单播的差别是,必须得有一个“组”的概念,然后才能进行组播,本文就来和大家讲讲UDP组播的实现吧
    2023-05-05
  • C# 中的var关键字详细介绍

    C# 中的var关键字详细介绍

    这篇文章主要介绍了C# 中的var关键字详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • 基于XSLT调试的相关问题

    基于XSLT调试的相关问题

    本篇文章是对XSLT调试的相关问题进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论