.NET(C#)发送邮件的实现方法
.NET(C#)发送邮件的实现方法
微软已经为我们准备好了现成的工具类供我们调用:
MailMessage //邮件信息类
SmtpClient //邮件发送类
首先需要在项目的类文件中引用以下命名空间:
using System.Net;
using System.Net.Mail;
然后直接上封装好的代码:
/// <summary>
/// 发送邮件方法
/// </summary>
/// <param name="mailTo">接收人邮件</param>
/// <param name="mailTitle">发送邮件标题</param>
/// <param name="mailContent">发送邮件内容</param>
/// <returns></returns>
public static bool SendEmail(string mailTo, string mailTitle, string mailContent)
{
//设置发送方邮件信息,例如:qq邮箱
string stmpServer = @"smtp.qq.com";//smtp服务器地址
string mailAccount = @"123456789@qq.com";//邮箱账号
string pwd = @"xcryxiqzzasaebbe";//邮箱密码(qq邮箱此处使用授权码,其他邮箱见邮箱规定使用的是邮箱密码还是授权码)
//邮件服务设置
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = stmpServer;//指定发送方SMTP服务器
smtpClient.EnableSsl = true;//使用安全加密连接
smtpClient.UseDefaultCredentials = true;//不和请求一起发送
smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//设置发送账号密码
MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//实例化邮件信息实体并设置发送方和接收方
mailMessage.Subject = mailTitle;//设置发送邮件得标题
mailMessage.Body = mailContent;//设置发送邮件内容
mailMessage.BodyEncoding = Encoding.UTF8;//设置发送邮件得编码
mailMessage.IsBodyHtml = false;//设置标题是否为HTML格式
mailMessage.Priority = MailPriority.Normal;//设置邮件发送优先级
try
{
smtpClient.Send(mailMessage);//发送邮件
return true;
}
catch (SmtpException ex)
{
throw ex;
}
}
常见问题及错误汇总:
邮箱授权码怎么获取,以qq邮箱为例:
抛出错误:System.Net.Mail.SmtpException:“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”
解决方案:确认邮箱是使用密码直接登录,还是授权码;
抛出错误:mail from address must be same as authorization user
一般是邮箱账户设置中的 POP3/IMAP/SMTP 未开启
以qq邮箱为例:同样在账户设置中找到下图,开启红框中的选项即可。
.NET(C#)发送邮件的实现方法的更多相关文章
- C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP)
原文:C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP) 最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数 ...
- C#发送邮件三种方法,Localhost,SMTP,SSL-SMTP
C#发送邮件三种方法,Localhost,SMTP,SSL-SMTP 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送: 1. ...
- .Net锦囊-C#,.Net发送邮件三种方法…
最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数据发送一封E-mail,因此我也就找来相关资料,写了一个Demo分享给大家,大 ...
- .NET发送邮件的方法
整理一下,在.NET中发送邮件的一个方法,代码如下: public static string Net_Email(string strSendto, string strCC, string str ...
- C#发送邮件异常:根据验证过程,远程证书无效
今天在做发送邮件功能时,开始用qq邮箱和163邮箱都可以正常发送,后再改用我公司的邮箱和smtp时竟然报错了. 异常提示-----"根据验证过程,远程证书无效",后来通过查询资料解 ...
- python使用电子邮件模块smtplib的方法(发送图片 附件)实用可行
Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可 ...
- 提高生产力:发送邮件API和Web服务(包含源码)
在Web开发中,发邮件是一种非常常见的功能或任务. 发送邮件的6种方式 一文提到了6种方法,文章发表后,有网友指出了还有另外一种方法,Ant中也可以发送邮件. 打开Foxmail之类的邮件客户端或者在 ...
- STMP发送邮件(C#)
记录一下使用SMTP协议发送邮件 public void Mail() { try { System.Net.Mail.SmtpClient client = new System.Net.Mail. ...
- linux lnmp下无法使用mail发邮件的两种解决方法
在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix. 方法一,使用sendmail组件来发邮件 1.安装 sendma ...
随机推荐
- 『现学现忘』Git对象 — 17、Commit对象
目录 1.Commit对象介绍 2.Commit对象说明 3.本地库中对象之间的关系 4.总结 5.练习 6.本文用到的命令总结 1.Commit对象介绍 现在来介绍最后一种Git对象commit对象 ...
- 4.25JMster环境搭建、webxml及测试平台练习
1.Java环境搭建 右击电脑属性--高级设置--环境变量--系统变量--新建(输入JAVA_HOME.C:\Program Files\Java\jdk1.8.0_91---CLASSPATH..; ...
- mybaitis查询 (数据库与实体类字段名不相同)
1.这是我的数据库字段名和实体类字段名 2.方法 方法一: 查询的结果标题 会跟实体类的属性一一匹配,一定要一致就算数据库字段和属性不一致,我们可以把查询结果设置一个别名,让别名=属性名 方法二:使用 ...
- 痞子衡嵌入式:大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170下在线联合调试双核工程的方法(基于IAR). 前段时间痞子衡写过一篇<双核i.MXRT1170之单独在线调试从 ...
- 石油储运生产 2D 可视化,组态应用赋能工业智慧发展
前言 当前,国际油价低位徘徊导致各国石油化工行业投资大幅缩减,石油化工建设行业竞争环境日趋严峻,施工企业的利润空间也被不断压缩.内外交困的环境下,促使企业采取更有效的管理手段来提高效率和降低成本.石油 ...
- SQL查询与SQL优化[姊妹篇.第四弹]
在上一篇文章中,我们一起了解了关系模型与关系运算相关的知识,接下来我们一起谈谈,面对复杂的关系数据,我们如何来优化,SQL如何玩转更优呢? 在上一篇中抛出了4个关于优化方面的问题: 1.返回表中0.0 ...
- 零基础学Java第二节(运算符、输入、选择流程控制)
本篇文章是<零基础学Java>专栏的第二篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 第一章 运算符 1.1 算术运算符的概述和用法 运算符 对常量和变 ...
- ArcGIS和ArcEngine导出地图时,png格式支持背景透明
1.ArcGIS支持导出PNG,背景透明 导出png时,背景色和透明色不能设置为空,必须设置为同一个颜色,通常使用白色. 2.ArcEngine支持导出PNG,背景透明 //1.创建export IE ...
- .NET程序设计实验2
1.设计编写一个控制台应用程序,练习类的继承. (1) 编写一个抽象类 People,具有"姓名","年龄"字段,"姓名"属性,Work 方 ...
- 在vue中路径中的@
1.在Vue的路径中@等于src 2.在css的路径中~@等于src



