.Net Core&发送邮箱邮件信息

文章讲述了如何配置QQ邮箱以获取授权码用于SMTP邮件发送,同时指出了在阿里云服务器上由于25端口屏蔽导致的邮件发送问题,以及解决这个问题需要进行的25端口申诉流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我使用的是QQ邮箱   所以登录qq邮箱后我要开启授权码服务以便获取授权码

 点击账户  然后拉到最下边,开启服务  获取授权码

代码调试

模板

  /// <summary>
    /// 邮箱模板   --仅供参考
    /// </summary>
    public class EmailModel
    {
        /// <summary>
        /// 收件人邮箱
        /// </summary>
        public const string ToMial = "123456@163.com";
        /// <summary>
        /// 发件人邮箱
        /// </summary>
        public const string FromMial = "123456@qq.com";
        /// <summary>
        /// 发件人邮箱帐号 如QQ邮箱 为QQ号码
        /// </summary>
        public const string UserID = "123456";
        /// <summary>
        /// 发件人邮箱受权码
        /// </summary>
        public const string UserPwd = "**********";
        /// <summary>
        /// 邮件服务地址 如QQ邮箱服务地址为smtp.qq.com
        ///            网易邮箱服务地址为smtp.163.com
        /// </summary>
        public const string ServerAddress = "smtp.qq.com";
        /// <summary>
        /// 邮件主题/标题
        /// </summary>
        public const string Subject = "邮件通知";
        /// <summary>
        /// 邮件内容
        /// </summary>
        public const string Content = "消息内容";
        public const string FilePath = "";

    }

主代码

#region 邮箱发送
//参考代码:http://www.luofenming.com/show.aspx?id=ART2017111400001

// 创建一个邮件对象
using var mailObject = new MailMessage();

// 设置发件人邮箱
mailObject.From = new MailAddress(EmailModel.FromMial);

// 设置收件人
mailObject.To.Add(new MailAddress(EmailModel.ToMial!));

// 设置邮件主题和内容
mailObject.SubjectEncoding = Encoding.UTF8;
mailObject.Subject = EmailModel.Subject;
mailObject.BodyEncoding = Encoding.UTF8;
mailObject.Body = EmailModel.Content;

// 创建一个发送邮件的客户端对象
using var smtpClient = new SmtpClient();
smtpClient.Host = EmailModel.ServerAddress!;
//smpt 默认端口
smtpClient.Port = 587;
smtpClient.Credentials = new NetworkCredential(EmailModel.UserID, EmailModel.UserPwd);
//文件不为空则附带文件
if (!string.IsNullOrWhiteSpace(EmailModel.FilePath))
{
    Attachment amen = new Attachment(@"C:\Users\lqwvje\Desktop\新建文本文档.txt");
    mailObject.Attachments.Add(amen);
}
// 发送邮件
await smtpClient.SendMailAsync(mailObject);


#endregion


Console.ReadKey();

这里有一点要说明一下   smtp的端口号要设置一下,因为小编当时本地代码运行只需要有ip就可以发送短信,但是发布到服务器的时候运行接口 是发不出的  百度得知:因为邮件统一的默认端口是25,有些服务器上是需要申请开通这个端口,

阿里云服务25端口的屏蔽策略和普通的安全策略不同,无法通过配置安全组规则的方式来进行开放,如果需要开放25端口,需要向阿里云进行申诉,这是一种比较麻烦的处理方法。

具体的阿里云25端口申诉方法,可以参考:https://help.aliyun.com/knowledge_detail/56130.html

所以在使用smpt的时候会有介绍,邮件服务器ip会有对应的端口,这里看一下smtp的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小小涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值