.net Core1.0 邮件发送

简介:   今天一天早,公司需要将之前的.net Core项目增加一个预处理机制,就是当程序出现异常后给我们的开发人员发送邮件,因为今天写些关于.netCore上发送邮件。   根据查阅资料发现在目前的Core1.

  今天一天早,公司需要将之前的.net Core项目增加一个预处理机制,就是当程序出现异常后给我们的开发人员发送邮件,因为今天写些关于.netCore上发送邮件。

  根据查阅资料发现在目前的Core1.0还没有直接发送邮件的类库,因此使用MailKit包来进行邮件的发送!

  1.首先使用Nuget将 NETCore.MailKit 引用到程序中,然后调用该程序包进行发送,具体方法在下面!

 1    #region 发送邮件
 2         /// <summary>
 3         /// 发送邮件
 4         /// </summary>
 5         /// <param name="email"></param>
 6         /// <param name="subject"></param>
 7         /// <param name="message"></param>
 8         public static void SendEmail(string email, string subject, string message)
 9         {
10             var emailMessage = new MimeMessage();
11             emailMessage.From.Add(new MailboxAddress(emailAddressName, emailUserName));
12             string[] emailArray = email.Split(',');
13             foreach (var item in emailArray)
14             {
15                 emailMessage.To.Add(new MailboxAddress(item));
16             }
17             emailMessage.Subject = subject;
18             emailMessage.Body = new TextPart("plain") { Text = message };
19             using (var client = new SmtpClient())
20             {
21                 client.Connect(emailHost, 465, true);
22                 client.Authenticate(emailUserName, emailPassword);
23                 client.Send(emailMessage);
24                 client.Disconnect(true);
25             }
26         }
27         /// <summary>
28         /// 异步发送邮件
29         /// </summary>
30         /// <param name="email"></param>
31         /// <param name="subject"></param>
32         /// <param name="message"></param>
33         /// <returns></returns>
34         public static async Task SendEmailAsync(string email, string subject, string message)
35         {
36             var emailMessage = new MimeMessage();
37             emailMessage.From.Add(new MailboxAddress(emailAddressName, emailUserName));
38             emailMessage.To.Add(new MailboxAddress("mail", email));
39             emailMessage.Subject = subject;
40             emailMessage.Body = new TextPart("plain") { Text = message };
41 
42             using (var client = new SmtpClient())
43             {
44                 await client.ConnectAsync(emailHost, 25, SecureSocketOptions.None).ConfigureAwait(false);
45                 await client.AuthenticateAsync(emailUserName, emailPassword);
46                 await client.SendAsync(emailMessage).ConfigureAwait(false);
47                 await client.DisconnectAsync(true).ConfigureAwait(false);
48             }
49         } 

以上就是调用MailKit 的发送方法,希望对大家有帮助!!如有问题请留言!!

      

每一天都是崭新的,我们的目标有多远,我们就能走多远,坚持!!
目录
相关文章
|
4月前
|
存储 开发框架 前端开发
基于Lumisoft.NET组件,使用IMAP协议收取邮件
基于Lumisoft.NET组件,使用IMAP协议收取邮件
|
存储 .NET 开发框架
Asp.Net Core 快速邮件队列设计与实现
发送邮件几乎是软件系统中必不可少的功能,在Asp.Net Core 中我们可以使用MailKit发送邮件,MailKit发送邮件比较简单,网上有许多可以参考的文章,但是应该注意附件名长度,和附件名不能出现中文的问题,如果你遇到了这样的问题可以参考我之前写的这篇博客Asp.Net Core MailKit 完美附件(中文名、长文件名)。
1861 0
|
存储 网络安全 关系型数据库
|
.NET 索引 开发框架
|
.NET 开发框架 数据安全/隐私保护
用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还是很耐心的。
1448 0