是4.0的,说以添加包是

代码:

public class SendEmailInfo
{
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="model"></param>
public string Send163Email(EmailSend model)
{
try
{
MailMessage mailMsg = new MailMessage();
//邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
mailMsg.Priority = MailPriority.Normal;
//发件人
mailMsg.From = new MailAddress(model.addresser.caccount);
//收件人
foreach (var it in model.recipients)
{
mailMsg.To.Add(new MailAddress(it));
}
//如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
mailMsg.SubjectEncoding = Encoding.GetEncoding();
//标题
mailMsg.Subject = model.titlite;
//正文
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(model.context, Encoding.UTF8, MediaTypeNames.Text.Html));
//附件
if (model.accessoryPath != null)
{
foreach (string path in model.accessoryPath)
{
//将附件添加到邮件
mailMsg.Attachments.Add(new Attachment(path));
//获取或设置此电子邮件的发送通知。
mailMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
}
}
SmtpClient smtpClient = new SmtpClient();
//根据发件人的邮件地址判断发件服务器地址 默认端口一般是25
string[] addressor = model.addresser.caccount.Split(new Char[] { '@', '.' });
switch (addressor[])
{
case "":
smtpClient.Host = "smtp.163.com";
break;
case "":
smtpClient.Host = "smtp.126.com";
break;
case "qq":
smtpClient.Host = "smtp.qq.com";
break;
case "gmail":
smtpClient.Host = "smtp.gmail.com";
break;
case "hotmail":
smtpClient.Host = "smtp.live.com";//outlook邮箱//client.Port = 587;
break;
case "foxmail":
smtpClient.Host = "smtp.foxmail.com";
break;
case "sina":
smtpClient.Host = "smtp.sina.com.cn";
break;
default:
smtpClient.Host = "smtp.exmail.qq.com";//qq企业邮箱
break;
}
//使用安全加密连接。
smtpClient.EnableSsl = true;
//不和请求一块发送。
smtpClient.UseDefaultCredentials = false;
//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
smtpClient.Credentials = new NetworkCredential(model.addresser.caccount, model.addresser.password);
//如果发送失败,SMTP 服务器将发送 失败邮件告诉我
mailMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
//加这段之前用公司邮箱发送报错:根据验证过程,远程证书无效
                //加上后解决问题
                ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };

smtpClient.Send(mailMsg);
smtpClient.Dispose();
return "";
}
catch (Exception ex)
{
Console.Write(ex.Message);
return ex.Message;
}
}
} public class EmailSend
{
/// <summary>
/// 发件人
/// </summary>
public Addresser addresser { get; set; }
/// <summary>
/// 收件人
/// </summary>
public List<string> recipients { get; set; }
/// <summary>
/// 标题
/// </summary>
public string titlite { get; set; }
/// <summary>
/// 内容
/// </summary>
public string context { get; set; }
/// <summary>
/// 附件地址
/// </summary>
public List<string> accessoryPath { get; set; }
} /// <summary>
/// 发件人
/// </summary>
public class Addresser
{
/// <summary>
/// 账号
/// </summary>
public string caccount { get; set; }
/// <summary>
/// 秘钥
/// </summary>
public string password { get; set; }
}

demo的地址:https://gitee.com/cainiaoA/sendEmail

c# 163网易发送邮件的更多相关文章

  1. ASP.NET用QQ,网易发送邮件以及添加附件

    教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读 ...

  2. MUTT+MSMTP利用163服务器发送邮件

    监控系统发送告警邮件,我们自己搭建邮件服务器,成本较高,所以可以使用163等第三方MTA帮助我们发送.MUTT+MSMTP是一个很好的选择,具体实现如下: tar -xvf msmtp-1.6.5.t ...

  3. app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !

    最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...

  4. Centos 5.x/6.x 配置163网易yum源

    Centos系统默认都是系统自带的yum源,国内用户用yum源安装比较慢,为了提高效率,一般我们会配置国内的yum源.国内比较好的yum源有网易yum源.搜狐yum源等. 我感觉网易的yum源比较好用 ...

  5. phpmailer使用163邮件发送邮件例子

    注意:如果你的服务器安装了卖咖啡并且开户病毒最大防护功能我们需要关闭一个邮件防护哦,否则你的邮件发不出去给被这款杀毒给拦截哦. 1. 使用gmail发送的脚本 代码如下 复制代码 include(&q ...

  6. java调用163邮箱发送邮件

    1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...

  7. dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...

  8. python使用随机的163账号发送邮件

    import linecache import smtplib import time import linecache import random #算出txt的行数,163账号_2.txt中,每一 ...

  9. CentOS7像外部163邮箱发送邮件

    我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...

随机推荐

  1. 多线程-Thread和ThreadPool

    多线程原理 多线程都是基于委托的. 多线程优缺点 缺点: 1.导致程序复杂,开发调试维护困难,特别是线程交互. 2.线程过多导致服务器卡死,因为占用CPU 内存等资源. 优点: 1.良好的交互,特别对 ...

  2. ST (Sparse Table:稀疏表)算法

    1541:[例 1]数列区间最大值 时间限制: 1000 ms         内存限制: 524288 KB提交数: 600     通过数: 207 [题目描述] 输入一串数字,给你 MM 个询问 ...

  3. Apache RocketMQ 的过去、现在和未来 原创: DataPipeline DataPipeline数见科技 前天

    Apache RocketMQ 的过去.现在和未来 原创: DataPipeline DataPipeline数见科技 前天

  4. Linux下设置Tomcat开机自启动

    --未验证 第一步:在/etc/init.d下新建一个文件tomcat(需要root操作权限) vi /etc/init.d/tomcat 然后点击"i"写下如下代码,tomcat ...

  5. 【精华】PHP网站验证码不显示的终结解决方案

    PHP网站验证码不显示,这个是个很基础的PHP问题了,不过有点时候会比较让开发者比较头疼了.很多解决方案仅仅考虑到gd2,却忽略了另外一个很重要的因素了,相信在了解本教程之后,验证码不显示基本上就不算 ...

  6. SpringCloud学习成长之路二 服务客户端(rest+ribbon)

    在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的. Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是f ...

  7. react中异步的使用

    let promise; promise = this.props.corporationService.preSearchPage(params); promise.then((data) => ...

  8. 【ARTS】01_39_左耳听风-201900805~20190811

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. abp(net core)+easyui+efcore

    abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)   abp(net core)+easyui+efcore实现仓储管理系统目录 abp(ne ...

  10. Ant 构建 Jmeter脚本报错详解

    在搭建Ant构建Jmeter脚本的时候,小组成员遇到了各种问题. 再这里总结一下,遇到类似问题的可以做个参考 1.提示 does not exist 解决方案: 出现这种的问题原因有很多. 先排除权限 ...