之前自己从来没有做过发送邮箱的功能,前段时间项目需要,在找了很多帖子之后,终于实现了。

之后有整理了一下,写了一个类。直接给类传递信息,就可以发送了。
这里还需要说明的是,发送邮箱需要开通POP3/SMTP服务,否则QQ邮箱,网易邮箱等会报错。接收的邮箱就不用开通啦,开通方法百度一下就知道啦。
public static class EmailHelper
{
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="subject">邮件主题</param>
/// <param name="msg">邮件内容</param>
/// <param name="filePath">附件地址,如果不添加附件传null或""</param>
/// <param name="senderEmail">发送人邮箱地址</param>
/// <param name="senderPwd">发送人邮箱密码</param>
/// <param name="recipientEmail">接收人邮箱</param>
public static void SendMail(string subject, string msg, string filePath, string senderEmail, string senderPwd, params string[] recipientEmail)
{
if (!CheckIsNotEmptyOrNull(subject, msg, senderEmail, senderPwd) || recipientEmail == null || recipientEmail.Length == 0)
{
throw new Exception("输入信息无效");
}
try
{
string[] sendFromUser = senderEmail.Split('@');
//构造一个Email的Message对象
MailMessage message = new MailMessage();
//确定smtp服务器地址。实例化一个Smtp客户端
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp." + sendFromUser[1]);
//构造发件人地址对象
message.From = new MailAddress(senderEmail, sendFromUser[0], Encoding.UTF8);
//构造收件人地址对象
foreach (string userName in recipientEmail)
{
message.To.Add(new MailAddress(userName, userName.Split('@')[0], Encoding.UTF8));
}
if (!string.IsNullOrEmpty(filePath))
{
Attachment attach = new Attachment(filePath);
//得到文件的信息
ContentDisposition disposition = attach.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(filePath);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(filePath);
disposition.ReadDate = System.IO.File.GetLastAccessTime(filePath);
//向邮件添加附件
message.Attachments.Add(attach);
}
//添加邮件主题和内容
message.Subject = subject;
message.SubjectEncoding = Encoding.UTF8;
message.Body = msg;
message.BodyEncoding = Encoding.UTF8;
//设置邮件的信息
client.DeliveryMethod = SmtpDeliveryMethod.Network;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = false;
//如果服务器支持安全连接,则将安全连接设为true。
//gmail,qq支持,163不支持
switch (sendFromUser[1])
{
case "gmail.com":
case "qq.com":
client.EnableSsl = true;
break;
default:
client.EnableSsl = false;
break;
}
//设置用户名和密码。
client.UseDefaultCredentials = false;
//用户登陆信息
NetworkCredential myCredentials = new NetworkCredential(senderEmail, senderPwd);
client.Credentials = myCredentials;
//发送邮件
client.Send(message);
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 验证所有传入字符串不能为空或null
/// </summary>
/// <param name="ps">参数列表</param>
/// <returns>都不为空或null返回true,否则返回false</returns>
public static bool CheckIsNotEmptyOrNull(params string[] ps)
{
if (ps != null)
{
foreach (string item in ps)
{
if (string.IsNullOrEmpty(item)) return false;
}
return true;
}
return false;
}
}
直接调用方法,传递需要发送的信息,就可以发送邮箱了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C#
# 发送邮箱
# C# 邮箱mail 发送类
# c#调用qq邮箱smtp发送邮件修改版代码分享
# 获取外网IP并发送到指定邮箱的vbs代码[已测]
# Java基于JavaMail实现向QQ邮箱发送邮件
# Python实现给qq邮箱发送邮件的方法
# 使用vbs获得外网ip并发送到邮箱里
# VBS获取外网IP地址并发送到指定邮箱的代码
# 在Laravel框架里实现发送邮件实例(邮箱验证)
# java实现163邮箱发送邮件到qq邮箱成功案例
# 发送邮件
# 就可以
# 为空
# 送人
# 的是
# 都不
# 设为
# 从来没有
# 做过
# 找了
# 写了
# 还需要
# 不支持
# 网易
# 报错
# 送了
# 前段时间
# 用户登陆
# 大家多多
# 则将
相关文章:
招贴海报怎么做,什么是海报招贴?
建站之星客服服务时间及联系方式如何?
如何通过虚拟主机快速完成网站搭建?
如何选择最佳自助建站系统?快速指南解析优劣
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
婚礼视频制作网站,学习*后期制作的网站有哪些?
C#怎么创建控制台应用 C# Console App项目创建方法
已有域名和空间如何搭建网站?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何在阿里云虚拟主机上快速搭建个人网站?
网站制作公司排行榜,四大门户网站排名?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在IIS服务器上快速部署高效网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
学校为何禁止电信移动建设网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何高效利用亚马逊云主机搭建企业网站?
建站之星代理如何优化在线客服效率?
网站制作新手教程,新手建设一个网站需要注意些什么?
视频网站制作教程,怎么样制作优酷网的小视频?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何在腾讯云免费申请建站?
实现虚拟支付需哪些建站技术支撑?
建站之星如何配置系统实现高效建站?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何设置并定期更换建站之星安全管理员密码?
如何用PHP工具快速搭建高效网站?
如何打造高效商业网站?建站目的决定转化率
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
高端云建站费用究竟需要多少预算?
如何在阿里云服务器自主搭建网站?
宁波免费建站如何选择可靠模板与平台?
电商网站制作公司有哪些,1688网是什么意思?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
,柠檬视频怎样兑换vip?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何通过万网虚拟主机快速搭建网站?
深圳网站制作的公司有哪些,dido官方网站?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何在IIS7上新建站点并设置安全权限?
简单实现Android验证码
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
*请认真填写需求信息,我们会在24小时内与您取得联系。