C#发送邮件(阿里企业邮箱示例 包括各个类型的服务器及端口配置)
本文讲解通过C#来实现发送邮件:
1.我这里是使用的阿里企业邮箱,至于其他的163和QQ邮箱,就是修改下服务器地址和端口的问题
2.至于发送失败的问题,在排除代码问题之后,可以看下自己使用的发送邮箱的账户是否开启了授权,特别是163和QQ邮箱,要开授权的
这里针对阿里企业邮箱的各个服务器和端口配置说明一下:
1.POP服务器:
地址:pop3.mxhichina.com
端口:110
加密端口:995
2.IMAP服务器:
地址:imap.mxhichina.com
端口:143
加密端口:993
备注:接收邮件推荐使用该协议,毕竟POP3是无法和邮箱服务器进行交互的,不能更新邮件的状态。
SMTP服务器:
地址:smtp.mxhichina.com
端口:25
加密端口:465
直接上核心代码:
/// <summary>/// 发送邮件方法,更多可以自己转到定义去查看,还是很通俗易懂的/// </summary>/// <param name="requestModel"></param>public static void SendEmail(EmailInfo requestModel){if (requestModel.To.IsNullOrEmpty()) throw new LevoxCpcException("邮件收件人不能为空!");if (string.IsNullOrWhiteSpace(requestModel.Subject)) throw new LevoxCpcException("邮件标题不能为空!");if (string.IsNullOrWhiteSpace(requestModel.Body) && requestModel.Attachments.IsNullOrEmpty()) throw new LevoxCpcException("没有要发送的邮件内容!");var emailSettingInfo = GetSendEmailSenderInfo();try{//初始化发送邮件对象var client = new SmtpClient(emailSettingInfo.Host, emailSettingInfo.Port){//是否启用SSL,这里是false,如果true,需要配置证书EnableSsl = false,//是否启用身份验证(UseDefaultCredentials属性必须要在Credentials前配置,否则会报错)UseDefaultCredentials = true,//配置身份账号密码Credentials = new NetworkCredential(emailSettingInfo.Account, emailSettingInfo.Password)};//要发送的邮件对象var email = new MailMessage(){//发件人邮箱和展示名称From = new MailAddress(emailSettingInfo.Account, emailSettingInfo.DisplayName),IsBodyHtml = true,//是否是html格式Subject = requestModel.Subject,//邮件标题BodyEncoding = Encoding.Default,//邮件内容编码Body = requestModel.Body,//邮件内容Priority = MailPriority.High//邮件优先级};//收件人(可以多个)requestModel.To.Distinct().LingbugFor(r => email.To.Add(r));//抄送人(可以多个)if (!requestModel.CC.IsNullOrEmpty()) requestModel.CC.Distinct().LingbugFor(r => email.CC.Add(r));//附件(可以多个)if (!requestModel.Attachments.IsNullOrEmpty()) requestModel.Attachments.Distinct().LingbugFor(r => email.Attachments.Add(new Attachment(r)));//发送完毕事件(只针对异步发送有效)client.SendCompleted += (sender, e) =>{if (e.Error == null){LogTestService.Info("邮件发送成功", requestModel.SerializeObject());}else{LogTestService.Info("邮件发送失败:" + e.Error.Message, e.Error.SerializeObject());}};//发送邮件client.SendMailAsync(email);}catch (Exception ex){LogTestService.Info("发送邮件发生异常:" + ex.Message, ex.SerializeObject());}}
Ending~
C#发送邮件(阿里企业邮箱示例 包括各个类型的服务器及端口配置)相关推荐
- linux下使用mail定时发送邮件-阿里企业邮箱发送
一 背景介绍 文章需求: 编写脚本从数仓里提取数据,并将数据表格通过阿里企业邮箱发送给指定人员,这里主要讲下,使用mail命令发送邮件时遇到的一些坑. 个人公众号:放纵的Coder 有疑问请联系我 二 ...
- python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误
class SendEmail(object):def __init__(self, type, to_addr):self.to_addr = to_addrself.sys_date = time ...
- 记一次confluence邮件服务器配置的坑(阿里企业邮箱)
公司想通过confluence自动发送邮件,项目经理搞了半天没搞定,公司服务器是阿里云服务器,有事就甩给我了,按照百度出来的方法试了下(可能大部分方式一,方式二就成功了,方式三可适用于阿里企业邮箱). ...
- 阿里企业邮箱smtp设置(实践)
最近项目有个需求,涉及发送邮件,发件人用的的阿里的企业邮箱,遇到一些坑: 1.刚开始一直找授权码/服务密码这个东西,后来问阿里那边的客服才知道,原来阿里企业邮箱是没有像QQ邮箱,网易邮箱那样有授权码的 ...
- Springboot整合JavaMail通过阿里企业邮箱发验证码
介绍 产品最近又想出了新的优化app体验感的方法,第三方登录,包括QQ.微信.苹果账号还有邮箱...现在还有人用邮箱登录???对不起,还是有的.于是,我顺手百度了一篇经验文,先用163邮箱试水.登录. ...
- 详解:阿里邮箱_阿里企业邮箱_阿里邮箱企业版
阿里邮箱是阿里云自主研发的,基于飞天平台自主研发的云原生分布式邮箱系统,阿里邮箱提供免费版.标准版.尊享版和集团版,企业邮箱版本不同支持的账号数也不同,共享网盘容量和个人网盘容量均不同,阿里云百科来详 ...
- 阿里企业邮箱:密码登录
阿里企业邮箱:密码登录 一.配置信息 企业邮箱POP.SMTP.IMAP地址列表如下: (阿里云邮箱web端通用访问地址:https://qiye.aliyun.com/),客户端推荐以下参数配置: ...
- java email qq邮箱 与 阿里企业邮箱/个人邮箱
贴一个例子仅供参考 QQ邮箱 import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail. ...
- 阿里企业邮箱smtp设置
最近在弄网站发送邮件,用的的阿里的企业邮箱,遇到一些坑: 1.刚开始一直找授权码这个东西,后来问阿里那边的客服才知道,原来阿里企业邮箱是没有像QQ邮箱,网易邮箱那样有授权码的 2.一开始smtp服务器 ...
最新文章
- mysql+8.0+新特性_MySQL 8.0的一些新特性汇总大全
- android查看控件的xml属性,006 Android XML 控件属性设置技巧汇总
- csharp DataTable and DataGridView delete a Row
- 转-android图片降低图片大小保持图片清晰的方法
- 自己实现多线程的socket,socketserver源码剖析
- mysql code name作为字段_MySQL索引管理及执行计划
- 谈论Java原子变量和同步的效率 -- 颠覆你的生活
- 【链接转载保存】Collections.singletonList方法的使用
- 如何获取百度文库中的文章【原创】
- DS1302时钟芯片读写操作(基于普中A2开发板)
- mbs单位是什么意思计算机,Mbps是什么意思 1Mbps是多少兆网速?
- NoSuchBeanDefinitionException: No bean named 'tDubboServiceImpl' is defined 的解决办法
- pan图像全色图像_HTML5图像效果–棕褐色
- 嵌入式系统开发常用词汇
- windows11任务栏全透明
- 汽车电子之Infineon车规级芯片
- SPM软件的参考资料链接
- mysql架构与存储引擎
- Spring-配置数据源
- 蓝桥 第八大奇迹 (线段树)
热门文章
- WebForm水印照片
- c语言输入1到12月份,C语言高手请进下面是一个日历表,运行结果中能不能把1~12月份改 爱问知识人...
- 计算机怎样改成游戏机,手把手教你安装batocera系统,把旧电脑变成万能影音游戏主机...
- 通过高德地图API(WEB端)获取中国所有省市(可扩展)的列表
- C/C++ 函数(最大公约数)
- Python 为什么不支持 switch 语句?
- 前端vue3+typescript搭建vite项目(初识vite+项目配置完善+屏幕适配)
- 阿里云 部署SpringBoot和Vue项目 亲测可用(第一次部署经验贴)
- 列表中的元素进行统计数量
- 网络发现已关闭网络计算机和设备不可见