net怎么实现邮件发送

  介绍

这篇文章将为大家详细讲解有关。净怎么实现邮件发送,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>前言

我们知道目前。NET核心还不支持SMTP协议,当我么在使用到发送邮件功能的时候,需要借助于一些第三方组件来达到目的,今天给大家介绍两款开源的邮件发送组件,它们分别是MailKit和FluentEmail、下面我对它们分别进行介绍。

<强> MailKit

在ASP。网络核心中,可以使用MailKit来发送邮件,它支持跨平台,并且支持IMAP, POP3、SMTP等协议。

你可以使用下面的方式安装:

下面是一个简单的发送邮件的例子:

 var消息=new MimeMessage ();
  message.From。添加(新MailboxAddress(“乔伊Tribbiani",“joey@friends.com"));
  message.To。Add(新MailboxAddress(“太太。Chanandler Bong",“chandler@friends.com"));
  
  消息。主题=靶瞧谔烊ツ睦锿?“;
  
  消息。身体=new TextPart (“plain"){文本=拔蚁肴ス使?如何“;};
  
  客户机使用(var=new SmtpClient ()) {//演示,接受所有SSL证书(如果服务器支持STARTTLS)
  客户端。ServerCertificateValidationCallback=(年代,c, h, e)=比;真正的;
  
  客户端。连接(587年“smtp.friends.com"假);//注意:因为我们不要# 39;t OAuth3令牌,禁用//XOAUTH2身份验证机制。
  client.AuthenticationMechanisms。删除(“XOAUTH2");//注意:> var健美运动员健美=new ();
  健美运动员。HtmlBody=@" & lt; b>这是大胆的,这是& lt; i> italic & lt;/b>“;
  消息。身体=bodyBuilder.ToMessageBody (); 

<强>流利邮件

流利的邮件这个也是一个开源项目,利用它,你可以使用剃刀模板来发送邮件,并且可以集成一些第三方的邮件发送程序比如Mailgun等,但是此包只在。net 4.6下才支持SMTP。你可以使用如下命令来安装它:

你可以使用最基本的方式来发送邮件,很简单如下:

//注意:. net 4.6才支持
  电子邮件。DefaultSender=new SmtpSender ();
  
  var=邮件邮件
  从今以后(“foo.com")
  文(“bar.com",“bob")
  .Subject(“星期天去哪里玩?“)
  .Body(“我想去故宫玩,如何?“);
  
  等待email.SendAsync (); 

或者,你可以使用剃刀模板来发送:

//注意:. net 4.6才支持
  电子邮件。DefaultSender=new SmtpSender ();//使用剃须刀模板包
  电子邮件。DefaultRenderer=new RazorRenderer ();
  
  var模板=扒装腀 model。的名字,你是完全@Model.Compliment !”;
  
  var=邮件邮件
  从今以后(“bob@hotmail.com")
  文(“somedude@gmail.com")
  .Subject(“吸引nuget")
  .UsingTemplate(模板,新的{Name=癓uke"恭维=癆wesome"});

是告诉FulentEmail使用哪个渲染器(你也可以自己实现一个自己的),然后提供了一个模板模板,内容为剃刀语法的模板字符串,然后使用来进行渲染呈现。

<>强磁盘上的cshtml,模板

加入你的邮件剃刀模板文件比较大,用字符串来表示的话不太优雅,那么你可以把模板文件放到磁盘上,然后使用如下方式来加载:

//注意:. net 4.6才支持
  电子邮件。DefaultSender=new SmtpSender ();
  
  电子邮件。DefaultRenderer=new RazorRenderer ();
  
  var=邮件邮件
  从今以后(“foo.com")
  文(“bar.com",“bob")
  .Subject(“星期天去哪里玩?“)
  .UsingTemplateFromFile ($“{Directory.GetCurrentDirectory}/EmailTemplage.cshtml",新{Name=癓uke"}) 

<强>使用Mailgun发送邮件

可能有一些人对Mailgun还不太清楚,Mailgun是国外的一个邮件服务公司,比如著名的Github的邮件服务就托管在它的上面,免费的装甲账户每个月可以发送10000封邮件,对于很多中小网站足够用了。

当使用Mailgun来发送邮件的时候,你首先需要去注册一个账号,然后可以利用Mailgun提供的Rest API来管理发送或者接收的邮件。使用FluentEmail集成的Mailgun只需要添加如下包:

注册完Mailgun之后会给你分配一个API密匙和一个二级域名,在程序种,你需要如下配置:

//同时支持。net核心和。net框架
  var发送方=new MailgunSender (
  “sandboxcf5f41bbf2f84f15a386c60e253b5fe8.mailgun.org",//Mailgun二级域名
  “key-8d32c046d7f14ada8d5ba8253e3e30df"//Mailgun API键
  );
  
  电子邮件。DefaultSender=发送者;
  
  var=邮件邮件
  从今以后(“foo.com")
  文(“bar.com",“bob")
  .Subject(“星期天去哪里玩?“)
  .Body(“我想去故宫玩,如何?“);
  
  等待email.SendAsync (); 

net怎么实现邮件发送