.Net Core 邮件发送MailKit

前言:使用MailKit实现邮件发送功能。

1、在NuGet中安装MailKit

2、创建EmailHelper类

public class EmailHelper
    {
        /// <summary>
        /// 邮件发送
        /// </summary>
        /// <param name="subject">邮件标题</param>
        /// <param name="content">邮件内容</param>
        /// <param name="to">收件人</param>
        public static void SendEmial(string subject, string content, string to)
        {
            try
            {
                string emailFromAddress = "发件人邮箱";
                string emailFromPassword = "发件人邮箱密码";
                string emailHostIP = "邮件服务器地址";
                string emailHostPort = "邮件服务器端口";
                MimeMessage mes = new MimeMessage();
                //发件人
                mes.From.Add(new MailboxAddress("xxx系统", emailFromAddress));
                //收件人
                mes.To.Add(new MailboxAddress(to, to));
                //标题
                mes.Subject = subject;
                TextPart text = new TextPart(MimeKit.Text.TextFormat.Html)
                {
                    //邮件内容
                    Text = content
                };
                Multipart multipart = new Multipart("mixed");
                multipart.Add(text);
                mes.Body = multipart;
                using (SmtpClient client = new SmtpClient())
                {
                    //邮件服务器
                    client.Connect(emailHostIP, Convert.ToInt32(emailHostPort), true);
                    //帐号、密码
                    client.Authenticate(emailFromAddress, emailFromPassword);
                    client.Send(mes);
                    client.Disconnect(true);
                }
            }
            catch (Exception ex)
            {

            }
            
        }
    }

3、调用EmailHelper.SendEmial("测试","测试","xxxx@xxx.com");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 ASP.NET Core 中使用 MailKit 发送电子邮件,需要执行以下步骤: 1. 安装 MailKit 和 MimeKit NuGet 包。 2. 在 Startup.cs 文件中添加以下代码: ```csharp using MailKit.Net.Smtp; using MimeKit; public void ConfigureServices(IServiceCollection services) { // ... services.AddMailKit(optionBuilder => { optionBuilder.UseSmtp("smtp.gmail.com", 587); optionBuilder.EnableSsl = true; optionBuilder.AuthenticationOptions = AuthenticationOptions.DoNotAuthenticate; }); // ... } ``` 3. 在控制器或服务中注入 `IMailer` 接口。 ```csharp using MailKit.Net.Smtp; using MimeKit; public class MyController : Controller { private readonly IMailer _mailer; public MyController(IMailer mailer) { _mailer = mailer; } public async Task<IActionResult> SendEmail() { var message = new MimeMessage(); message.From.Add(new MailboxAddress("From Name", "from@example.com")); message.To.Add(new MailboxAddress("To Name", "to@example.com")); message.Subject = "Test Email"; message.Body = new TextPart("plain") { Text = "This is a test email." }; await _mailer.SendAsync(message); return Ok(); } } ``` 4. 通过 MailKit 发送电子邮件: ```csharp using MailKit.Net.Smtp; using MimeKit; public interface IMailer { Task SendAsync(MimeMessage message); } public class Mailer : IMailer { private readonly SmtpClient _smtpClient; public Mailer(SmtpClient smtpClient) { _smtpClient = smtpClient; } public async Task SendAsync(MimeMessage message) { await _smtpClient.SendAsync(message); } } ``` 现在,当执行 `SendEmail()` 方法时,将通过 MailKit 发送电子邮件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值