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 ...
随机推荐
- myadmin不需要路劲提权之法
//觉得很典型的案例,就转载过来了.很多时候phpmyadmin都需要路劲才能写shell.否则拿到了myadmin也是无奈. 查看mysql版本 select version(); 版本是5.1 大 ...
- angular组件数据和事件
<h1>引入图片</h1> <img src="assets/images/02.png" alt="收藏" /> < ...
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
2.PHP与Mysqli扩展,面向过程.对象 <?php $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test ...
- 使用Docker快速搭建Tensorflow开发环境
当我刚开始学习使用scikit-learn时,总是会出现各种各样的包依赖问题,兜兜转转了一遍才全部安装好,现在的机器学习算法开发者大都使用tensorflow.pytorch来实现自己的想法,但依然会 ...
- osg 在fbx模型中添加自定义节点
- mysql无法导入函数和存储过程解决方法
1. mysql> SET GLOBAL log_bin_trust_function_creators = 1; 2. 系统启动时 --log-bin-trust-function-creat ...
- QML渐变色
Rectangle { id: tab_btn width: height: parent.height color: "black" gradient: Gradient { G ...
- tp5.1 model 方法下的like语句查询
$where_like = ['title','like','%' . $_GET['title'] . '%']; $result_list = $this->model->where( ...
- WCAG
WCAG What is WCAG? Web Content Accessibility Guidelines (WCAG) Overview Checklist and solve technolo ...
- SQLAlchemy相关文档
目录 参考文档 一.执行原生SQL语句 1.实例一 2.实例二 2.实例三 二.ORM操作 1.创建数据库表 (1)创建单表 (2)创建多个表并包含FK.M2M关系 2.操作数据库表 (1)基于sco ...