企业cc邮箱发件服务器设置,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

直接上核心代码:

/// /// 发送邮件方法,更多可以自己转到定义去查看,还是很通俗易懂的

///

///

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~

    原文作者:weixin_28795271
    原文地址: https://blog.csdn.net/weixin_28795271/article/details/119271635
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞