C#实现发送邮件的方法

发布时间 - 2026-01-11 03:14:30    点击率:

本文实例为大家分享了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# 两种发送邮件的方法  # c# 实现发送邮件到指定邮箱  # c# 实现发送邮件的功能  # C#使用windows服务发送邮件  # C#编程实现发送邮件的方法(可添加附件)  # C#实现发送邮件的三种方法  # C#实现SMTP邮件发送程序实例  # C# 邮件发送和接收实现代码  # C#中发送邮件代码  # C#实现收发邮件功能  # 不加  # 放在  # 发送到  # 没有找到  # 大家分享  # 具体内容  # 时用  # 大家多多  # 邮件服务器  # 九宫格  # fileUrl  # param  # summary  # screen  # gt  # finally  # fileStr  # lt  # Subject 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 浅析上传头像示例及其注意事项  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何用景安虚拟主机手机版绑定域名建站?  如何获取PHP WAP自助建站系统源码?  利用vue写todolist单页应用  Laravel如何升级到最新版本?(升级指南和步骤)  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  如何用5美元大硬盘VPS安全高效搭建个人网站?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何构建满足综合性能需求的优质建站方案?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  焦点电影公司作品,电影焦点结局是什么?  iOS中将个别页面强制横屏其他页面竖屏  网站制作壁纸教程视频,电脑壁纸网站?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  利用python获取某年中每个月的第一天和最后一天  网站页面设计需要考虑到这些问题  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何快速生成可下载的建站源码工具?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  iOS验证手机号的正则表达式  html5的keygen标签为什么废弃_替代方案说明【解答】  历史网站制作软件,华为如何找回被删除的网站?  Swift中循环语句中的转移语句 break 和 continue  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何在云虚拟主机上快速搭建个人网站?  重庆市网站制作公司,重庆招聘网站哪个好?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  网站建设整体流程解析,建站其实很容易!  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  JavaScript如何实现继承_有哪些常用方法  教你用AI润色文章,让你的文字表达更专业