c# 163网易发送邮件
是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网易发送邮件的更多相关文章
- ASP.NET用QQ,网易发送邮件以及添加附件
教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读 ...
- MUTT+MSMTP利用163服务器发送邮件
监控系统发送告警邮件,我们自己搭建邮件服务器,成本较高,所以可以使用163等第三方MTA帮助我们发送.MUTT+MSMTP是一个很好的选择,具体实现如下: tar -xvf msmtp-1.6.5.t ...
- app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !
最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...
- Centos 5.x/6.x 配置163网易yum源
Centos系统默认都是系统自带的yum源,国内用户用yum源安装比较慢,为了提高效率,一般我们会配置国内的yum源.国内比较好的yum源有网易yum源.搜狐yum源等. 我感觉网易的yum源比较好用 ...
- phpmailer使用163邮件发送邮件例子
注意:如果你的服务器安装了卖咖啡并且开户病毒最大防护功能我们需要关闭一个邮件防护哦,否则你的邮件发不出去给被这款杀毒给拦截哦. 1. 使用gmail发送的脚本 代码如下 复制代码 include(&q ...
- java调用163邮箱发送邮件
1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...
- dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...
- python使用随机的163账号发送邮件
import linecache import smtplib import time import linecache import random #算出txt的行数,163账号_2.txt中,每一 ...
- CentOS7像外部163邮箱发送邮件
我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...
随机推荐
- this.getClass()和super.getClass()得到的是同一个类
今天dubug代码时发现this.getClass()和super.getClass()得到的竟然是同一个类,都是当前类. 遍访网络资料得出: getClass()不受this和super影响,而是有 ...
- delphi 获得父目录–指定级父目录
function get_dir_parent(dir:string;n:integer):string; //n为几级父目录varst:string;i:integer;begin st:=GetC ...
- AtomicInteger的CAS算法浅析
之前浅析过自旋锁(自旋锁浅析),我们知道它的实现原理就是CAS算法.CAS(Compare and Swap)即比较并交换,作为著名的无锁算法,它也是乐观锁的实现方式之一.JDK并发包里也有许多代码中 ...
- hue集成mysql找不到 libmysqlclient.so.16问题解决
首先我的配置文件如下,这个是没有问题的 但是在重启hue连接mysql时,却发生了如下问题: 这个错误的意思就是没有找到libmysqlclient_r.so.16这个文件,可能是我安装的mysql有 ...
- List根据多个字段分组
List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen( ...
- Microsoft Visual Studio(VS)启动报安装过程中无法运行
开机启动VS提示无法运行,很可能VS正在更新,可以等待几分钟更新完成,再次运行VS. 也可以把更新进程结束,进程名:VSIXAutoUpdate.exe
- (十三)过滤器Filter(转)
--------转自孤傲苍狼博客 一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例 ...
- RabbitMQ的安装(Windows环境下)
在使用RabbitMQ之前,先知道什么是AMQP,AMQP 即 Advanced Message Queuing Protocol ,又叫高级消息队列协议,是应用层协议的一个开放标准,其主要特征是面向 ...
- 学习笔记:oracle学习一:oracle11g体系结构之物理存储结构
目录 1.物理存储结构 1.1 数据文件 1.2 控制文件 1.3 日志文件 1.3.1 重做日志文件 1.3.2 归档日志文件 1.4 服务器参数文件 1.4.1 查看服务器参数 1.4.2 修改服 ...
- 【转帖】循序渐进Oracle:数据库的字符集和字符集文件
循序渐进Oracle:数据库的字符集和字符集文件 https://blog.csdn.net/Enmotech/article/details/100869162 2019年09月15日 18:23: ...