通过上一篇配置本地邮件服务器,已经实现了手动发送,接收邮件的功能。

接下来,我们就试试用代码实现发邮件。

我们都知道,邮件一般包括,发件人,收件人,邮件服务器,邮件。那么我们就按照这个思路来写代码

1.发送一封简单的邮件

private static void SendSimpleMail()
{//1.创建一封邮件对象MailMessage mail=new MailMessage();mail.Subject = "我是邮件的主题";mail.SubjectEncoding = Encoding.UTF8;mail.Body = "我是邮件的正文";mail.BodyEncoding = Encoding.UTF8;//发件人mail.From=new MailAddress(lisi@163.com,"李小四");//收件人mail.To.Add(new MailAddress(wangwu@163.com,"王小五"));//2.创建一个发送邮件的类SmtpClient client=new SmtpClient("127.0.0.1");client.Credentials=new NetworkCredential("lisi@163.com","lisi");client.Send(mail);Console.WriteLine("ok");
}

在Foxmail中如下图

查看邮件源码

2.发送一封带html的邮件

private static void SendHtmlMail()
{//1.创建一封邮件对象MailMessage mail = new MailMessage();mail.Subject = "我是邮件的主题";mail.SubjectEncoding = Encoding.UTF8;mail.Body = "我是邮件的正文";mail.BodyEncoding = Encoding.UTF8;//发件人mail.From = new MailAddress("lisi@163.com", "李四");//收件人mail.To.Add(new MailAddress("wangwu@163.com", "王五"));//-----------------------------------------------------------//设置该邮件的格式为htmlAlternateView htmlBody = AlternateView.CreateAlternateViewFromString("你好<font colof='red' size=7>中国</font><hr/>", null, "text/html");//将该html内容添加 到邮件中
    mail.AlternateViews.Add(htmlBody);//-----------------------------------------------------------//2.创建一个发送邮件的类SmtpClient client = new SmtpClient("127.0.0.1");client.Credentials = new NetworkCredential("lisi@163.com", "lisi");client.Send(mail);Console.WriteLine("ok");
}

在Foxmail中如下图

3.发送一封带显示图片的邮件

private static void SendMailWithImg()
{//1.创建一封邮件对象MailMessage mail = new MailMessage();mail.Subject = "我是邮件的主题";mail.SubjectEncoding = Encoding.UTF8;mail.Body = "我是邮件的正文";mail.BodyEncoding = Encoding.UTF8;//发件人mail.From = new MailAddress("lisi@163.com", "李四");//收件人mail.To.Add(new MailAddress("wangwu@163.com", "王五"));//-----------------------------------------------------------//设置邮件格式为html,将img标签设置到html中AlternateView htmlBody =AlternateView.CreateAlternateViewFromString("<img src='cid:aa' width='100px' height='100px'/>", null,"text/html");//创建一个链接资源,LinkedResource lr=new LinkedResource("h:/1.jpg","image/gif");//设置此链接资源MIME内容IDlr.ContentId = "aa";//将该链接资源添加到html中
    htmlBody.LinkedResources.Add(lr);//将html内容添加到邮件中
    mail.AlternateViews.Add(htmlBody);//-----------------------------------------------------------//2.创建一个发送邮件的类SmtpClient client = new SmtpClient("127.0.0.1");client.Credentials = new NetworkCredential("lisi@163.com", "lisi");client.Send(mail);Console.WriteLine("ok");
}

在Foxmail中如下图

4.发送一封带附件的邮件

private static void SendMailWithAttachment()
{//1.创建一封邮件对象MailMessage mail = new MailMessage();mail.Subject = "我是邮件的主题";mail.SubjectEncoding = Encoding.UTF8;mail.Body = "我是邮件的正文";mail.BodyEncoding = Encoding.UTF8;//发件人mail.From = new MailAddress("lisi@163.com", "李四");//收件人mail.To.Add(new MailAddress("wangwu@163.com", "王五"));//-----------------------------------------------------------//添加附件Attachment a1=new Attachment(@"h:/1.jpg");Attachment a2=new Attachment(@"h:/1.rar");Attachment a3=new Attachment(@"h:/1.docx");mail.Attachments.Add(a1);mail.Attachments.Add(a2);mail.Attachments.Add(a3);//-----------------------------------------------------------//2.创建一个发送邮件的类SmtpClient client = new SmtpClient("127.0.0.1");client.Credentials = new NetworkCredential("lisi@163.com", "lisi");client.Send(mail);Console.WriteLine("ok");
}

在Foxmail中如下图

转载于:https://www.cnblogs.com/kimisme/p/4360939.html

邮件系列(二)-发送邮件相关推荐

  1. [知识库分享系列] 二、.NET(ASP.NET)

    最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...

  2. 微服务架构系列二:密码强度评测的实现与实验

    本文是继<微服务架构系列一:关键技术与原理研究>的后续,系列一中论述了微服务研究的背景和意义,主要调研了传统架构的发展以及存在的问题和微服务架构的由来,然后针对微服务架构的设计原则.容器技 ...

  3. php邮件发送tp,Thinkphp5 邮件发送Thinkphp发送邮件

    在项目的开发中 用户修改密码,需要发送验证码到用户邮箱, 在common.php公共文件中加入以下代码: /** * 系统邮件发送函数 * @param string $tomail 接收邮件者邮箱 ...

  4. C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)(转载)...

    系列一: 制作一个可安装.可启动.可停止.可卸载的Windows service(downmoon原创) 系列二:演示一个定期执行的windows服务及调试(windows service)(down ...

  5. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  6. 自然语言处理系列二十二》词性标注》词性标注原理》词性介绍

    注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书<分布式机器学习实战>(人工智能科学与技术丛书)[陈敬雷编著][清华大学出版社] 文章目录 自然语言处理系列二十二 词性 ...

  7. 重读中本聪邮件系列——匿名篇

    栏目:元道论道 出品方:BitTribe Lab(香港) 重读中本聪邮件系列--匿名篇 --刘健博士对话元道之二 序 元道论道专栏是BitTribe Lab(香港)首席布道师元道先生倾力打造,凝聚了元 ...

  8. 重读中本聪邮件系列——共识篇

    栏目:元道论道 出品方:BitTribe Lab(香港) 重读中本聪邮件系列--共识篇 --刘健博士对话元道之一 序 元道论道专栏是BitTribe Lab(香港)首席布道师元道先生倾力打造,凝聚了元 ...

  9. 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+kibanaV5.4.2+x-packV5.4.2安装

    相关博文: 搜索引擎ElasticSearchV5.4.2系列一之ES介绍 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+klanaV5.4.2+x-p ...

  10. 【C++自我精讲】基础系列二 const

    [C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...

最新文章

  1. 22岁复旦大学生拿下深度学习挑战赛冠军:明明可以靠脸吃饭,却偏偏要靠才华
  2. 再有人问你MySQL是如何查询数据的,请把这篇文章甩给他!
  3. 临时表 DML 产生redo 问题说明
  4. Single-Shot Object Detection with Enriched Semantics
  5. 使用sklearn自带公式计算余弦相似度
  6. Java静态方法可能会产生代码异味
  7. 【Tensorflow】深度学习实战04——Tensorflow实现VGGNet
  8. NHibernate.3.0.Cookbook第三章第8节的翻译
  9. js/jQuery中的宽高
  10. sequence to sequence模型
  11. 已有一个名为“frmadd”的组件。组件的名称必须是唯一的,而且名称必须不区分大小
  12. wifi定位算法 java_机器学习在滴滴网络定位中的探索和实践
  13. c语言宠物店管理系统,宠物店信息管理系统的设计课程设计报告精选.doc
  14. NYOJ 33 蛇形填数——————思维
  15. 乐学python视频资源_铁乐学python_day04-作业
  16. C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误
  17. java爬虫实战——实现简单的爬取网页数据
  18. Web前端——移动端页面开发
  19. EMV技术学习和研究(七)持卡人验证
  20. Mysql数据库定时任务

热门文章

  1. shell脚本删除linux中的文件
  2. Makefile_02:程序的编译和链接
  3. 常考数据结构与算法:二叉树的之字形层序遍历
  4. centos7安装pyenv
  5. [译]理解js中的event loop
  6. TCP/IP协议示意图
  7. 害怕抑郁症?该系统通过日常交流就能判断你是否有病
  8. Maven提高篇系列之(五)——处理依赖冲突
  9. (转)linux运行tomcat时JRE_HOME显示不对怎么办?
  10. Apache访问日志切割