.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 ...
随机推荐
- Http GET 请求参数中文乱码
两种解决方式 第1种:代码里转换 String name = request.getParamter("name"); String nameUtf8 = new String(n ...
- 【面试普通人VS高手系列】Spring Boot中自动装配机制的原理
最近一个粉丝说,他面试了4个公司,有三个公司问他:"Spring Boot 中自动装配机制的原理" 他回答了,感觉没回答错误,但是怎么就没给offer呢? 对于这个问题,看看普通人 ...
- 请收藏,Linux 运维必备的 40 个命令总结,收好了~
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 1.删除0字节文件 find -type f -size ...
- 10 分钟看懂 Docker 和 K8S!
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫"dotCloud"的公司. 这家公司主要提供基于PaaS的云计算技术服务.具体来说,是和LXC有关的容器技术. LXC, ...
- 隔离这几天开发了一个带控制台的OAuth2授权服务器分享给大家
停更这些天,业余时间和粉丝群的几个大佬合作写了一个基于Spring Authorization Server的OAuth2授权服务器的管理控制台项目Id Server,我觉得这个项目能够大大降低OAu ...
- 4┃音视频直播系统之浏览器中通过 WebRTC 进行桌面共享
一.共享桌面原理 共享桌面在直播系统中是一个必备功能 共享者:每秒钟抓取多次屏幕,每次抓取的屏幕都与上一次抓取的屏幕做比较,取它们的差值,然后对差值进行压缩:如果是第一次抓屏或切幕的情况,即本次抓取的 ...
- python PDF转图片,World转PDF
软件不用续费了... PDF转World暂时没需求,有需求了再搞 Python3.9 ---------------pip3 install PyMuPdf ---------------pip3 ...
- 论文解读《Bilinear Graph Neural Network with Neighbor Interactions》
论文信息 论文标题:Bilinear Graph Neural Network with Neighbor Interactions论文作者:Hongmin Zhu, Fuli Feng, Xiang ...
- 4.0 vue绑定dom属性和函数的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 496. Next Greater Element I - LeetCode
Question 496. Next Greater Element I Solution 题目大意:给你一个组数A里面每个元素都不相同.再给你一个数组B,元素是A的子集,问对于B中的每个元素,在A数 ...



