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;//当前图片路径,在添加附件时用    ///     /// 发送邮件    ///     /// 附件地址,以~分    /// 是否发送截屏    ///     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#中发送邮件的实现方法详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 08:24:06
下一篇 2025年12月17日 08:24:26

相关推荐

  • 深入理解CSS属性选择器并举例说明

    CSS属性选择器详解及应用示例 在CSS中,我们经常需要通过选择器来选取并修改特定的元素样式。除了常见的标签选择器(如div、p等),CSS还提供了属性选择器,可以根据元素的属性值来选择并修改样式。 本文将详细介绍CSS的属性选择器,并给出一些实际应用的示例。 一、属性选择器类型 立即学习“前端免费…

    2025年12月24日
    000
  • 动态加载css详解

    这次给大家带来动态加载css详解,动态加载css的注意事项有哪些,下面就是实战案例,一起来看一下。 一、方法引用来源和应用 此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析)。 因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需的c…

    好文分享 2025年12月24日
    000
  • css中px、em和rem使用详解

    相信每位前端工程师们都有这么一个体会,国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢?下面这篇文章小编就来给大家详细介绍关于css中px、em和rem的区别,需要的朋友可以参考借鉴,下面来一起看看吧。 前言 em 和 rem 都是灵活可扩展的单…

    好文分享 2025年12月24日
    000
  • CSS双飞翼布局的详解

    这次给大家带来CSS双飞翼布局的详解,实现CSS双飞翼布局的注意事项有哪些,下面就是实战案例,一起来看一下。 双飞翼布局,就是两端固定宽高,中间自适应的三栏布局 先来张图,左边和右边的灰色块是固定宽高的,中间绿色的区域是宽高自适应 方式一:通过flex弹性布局来实现 看代码 //HTML结构,p2是…

    2025年12月24日
    000
  • CSS的三栏布局详解

    这次给大家带来CSS的三栏布局详解,CSS的三栏布局的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了CSS经典三栏布局方案,分享给大家,也给自己做个笔记,具体如下: 三栏布局,顾名思义就是两边固定,中间自适应。三栏布局在开发十分常见 1. float布局 最简单的三栏布局就是利用flo…

    2025年12月24日 好文分享
    000
  • CSS的定位属性详解

    这次给大家带来CSS的定位属性详解,使用CSS定位属性的注意事项有哪些,下面就是实战案例,一起来看一下。 CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。 position: absolute; position: relative; position: fixed; 下面逐一介绍。 相…

    2025年12月24日 好文分享
    000
  • px单位html5响应式方案详解

    移动端h5响应式方案最近这几年用得最多的最多的就是rem方案了。这个需要计算根元素的font-size来实现响应式。本文主要和大家介绍了px单位html5响应式方案的相关资料,希望能帮助到大家。 但这种方案也有一个缺点,那就是font-size不为整数的时候一些字体使用rem单位会导致字体显示的大小…

    好文分享 2025年12月24日
    000
  • Css多行字符截取方法详解

    相信有很多同学在写前端页面的时候,都会遇到字符长了需要截取的问题,最简单的方法就是手动去截取,可这样又感觉太low了,今天晚上就来讲讲利用css进行字符的截取,不了解css是如何截取的同学可以和我们一起看看哦! 前言 最近在做响应式系统设计的时候遇到需要对标题进行多行文字截取的效果,如下图: 看似十…

    2025年12月24日 好文分享
    000
  • CSS内边距外边距代码详解

    本文主要和大家分享css之内边距与外边距,本文运用了多个实例与代码,希望能帮助到大家。 外边距: margin 左边距 margin-left:数值 | autoauto:即距离这个边最远的距离右边距: margin-right:数值 | auto上边距: margin-top:数值 这里不能用au…

    2025年12月24日 好文分享
    000
  • CSS常用的一些属性详解

    text-align: center”>CSS常用属性 ☛关于css属性个人建议查看手册更加详细方便,我这里就几种常用属性进行分类并简单取几个常用属性值,仅供跟我一样刚学习前端的人作为入门而用。  1.字体样式 字体的缩写,写法是font:font-style|| font-var…

    好文分享 2025年12月23日
    000
  • CSS如何实现两端对齐详解

    前面的话   两端对齐在导航nav的制作中非常常用。本文将详细介绍css两端对齐的3种实现方式 flex   弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端对齐。可以使用主轴对齐justify-content的两端对齐属性space-between just…

    好文分享 2025年12月23日
    000
  • css样式之border-radius详解

    border-radius 属性设置边框的园角     可能的值:像素,百分比 扩展延伸 html代码 css代码 p { height: 200px; width: 200px; border: 2px solid #a72525; border-radius: 10px;} 结果 立即学习“前端…

    好文分享 2025年12月23日
    000
  • 详解CSS属性值用法

    万维网联盟(w3c) 使用了一套特别的语法来定义 css 的属性值,能让所有的 css 属性都用。如果你曾看过 css 规范,你可能已经见过这套语法了。就像  border-image-slice  的语法 ,让我们看看: = [ | ]{1,4} && fill?如果你不知道这些符…

    2025年12月23日 好文分享
    000
  • 详解css中border-image的使用方法

    border-image-source 属性设置边框的图片的路径[none | ] p { border: 20px solid #000; border-image-source: url(border.png);} border-image-slice 属性图片边框向内偏移[ | ](1,4) …

    2025年12月23日
    000
  • jimdo怎么插入html5时间轴_jimdo时间轴html5代码与节点样式【实操】

    Jimdo网站需用自定义HTML5代码实现时间轴:一、内联HTML+CSS轻量嵌入;二、外链CSS+语义化HTML便于复用;三、调用timeline-js-lite库支持交互;四、纯CSS方案零依赖高性能。 如果您希望在 Jimdo 网站中呈现可视化的时间发展脉络,但默认编辑器不支持原生时间轴组件,…

    2025年12月23日
    000
  • visual怎么创建html5_VS新建HTML File选HTML5模板快速创建页面【创建】

    可在Visual Studio中通过新建文件选HTML5模板、新建ASP.NET Core Web App项目或手动创建.html文件并输入及html:5代码段三种方式快速生成HTML5网页。 如果您在 Visual Studio 中需要快速创建一个符合 HTML5 标准的网页文件,则可通过新建项目…

    2025年12月23日
    000
  • jimdo怎么插入html5粒子效果_jimdo粒子效果html5库引入与参数调整【攻略】

    可在Jimdo通过自定义HTML区块引入tsparticles库实现动态粒子效果,或用内联SVG替代;需调整颜色、数量等参数适配主题,并修复脚本加载问题。 如果您希望在 Jimdo 网站中添加动态 HTML5 粒子效果(如背景浮动粒子、鼠标交互连线等),但发现 Jimdo 编辑器默认不支持直接嵌入 …

    2025年12月23日
    000
  • vs.net怎么运行html_vs.net运行html步骤【指南】

    首先创建Web项目或配置外部浏览器预览HTML文件。通过新建ASP.NET项目并添加HTML页面后按Ctrl+F5运行,或安装Live Server等插件实现静态文件实时预览,也可在选项中设置Chrome等外部浏览器直接打开HTML文件以查看效果。 如果您在使用 Visual Studio .NET…

    2025年12月23日
    000
  • vs中如何添加html_VS开发工具中添加HTML文件【工具】

    在 Visual Studio 中添加 HTML 文件需根据项目类型选择方法:一、通过解决方案资源管理器→添加新项→选“HTML 页面”模板;二、手动创建.html文件后通过“显示所有文件”→“包括在项目中”;三、用快捷键Shift+Alt+A快速调出模板;四、若无模板,需通过 Visual Stu…

    2025年12月23日
    000
  • HTML如何弹出提示框_JavaScript交互实现方法【指南】

    JavaScript提供五种弹出提示框方法:alert()显示不可编辑警告;confirm()返回布尔值实现确认交互;prompt()获取用户文本输入;自定义DOM元素实现灵活样式;第三方库如SweetAlert2支持美观异步提示。 如果您希望在网页中向用户显示简短信息、确认操作或获取简单输入,Ja…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信