欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

在Asp.NetCore中發(fā)送一個(gè)Email的步驟有哪些-創(chuàng)新互聯(lián)

這篇文章給大家介紹在Asp.Net Core中發(fā)送一個(gè)Email的步驟有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

安裝 MailKit

要想使用 MailKit,你可以使用 Visual Studio 2019 中的 NuGet package manager 可視化界面進(jìn)行安裝,或者通過 NuGet package manager console 命令行輸入如下命令:

Install-Package NETCore.MailKit

安裝完成之后,在代碼中引入以下命令空間即可。

using MailKit.Net.Smtp;
using MimeKit;

配置 Email 的基礎(chǔ)信息

下面的代碼片段展示了在 appsettings.json 文件中配置 email 的詳細(xì)信息。

"NotificationMetadata": {
 "Sender": "sender_email@gmail.com",
 "SmtpServer": "smtp.gmail.com",
 "Reciever": "receiver_email@yahoo.com",
 "Port": 465,
 "Username": "sender_email_user@gmail.com",
 "Password": "specify your password here"
 }

為了能夠?qū)崿F(xiàn) configuration 中的NotificationMetadata節(jié)點(diǎn)映射,我定義了一個(gè) NotificationMetadata 類,代碼如下:

 public class NotificationMetadata
 {
  public string Sender { get; set; }
  public string Reciever { get; set; }
  public string SmtpServer { get; set; }
  public int Port { get; set; }
  public string UserName { get; set; }
  public string Password { get; set; }
 }

接下來(lái)在 Startup.ConfigureServices 方法中將 NotificationMetadata 節(jié)點(diǎn)映射到 NotificationMetadata 類。

public void ConfigureServices(IServiceCollection services)
{
  var notificationMetadata =
  Configuration.GetSection("NotificationMetadata").
  Get<NotificationMetadata>();
  services.AddSingleton(notificationMetadata);
  services.AddControllers();
}

生成 EmailMessage 消息類

使用如下代碼創(chuàng)建一個(gè) EmailMessage 類。

private MimeMessage CreateMimeMessageFromEmailMessage(EmailMessage message)
{
  var mimeMessage = new MimeMessage();
  mimeMessage.From.Add(message.Sender);
  mimeMessage.To.Add(message.Reciever);
  mimeMessage.Subject = message.Subject;
  mimeMessage.Body = new TextPart(MimeKit.Text.TextFormat.Text)
  { Text = message.Content };
  return mimeMessage;
}

生成 MimeMessage 類

下面的代碼展示了如何從自定義的 EmailMessage 類中構(gòu)造出一個(gè) MimeMessage。

private MimeMessage CreateMimeMessageFromEmailMessage(EmailMessage message)
{
  var mimeMessage = new MimeMessage();
  mimeMessage.From.Add(message.Sender);
  mimeMessage.To.Add(message.Reciever);
  mimeMessage.Subject = message.Subject;
  mimeMessage.Body = new TextPart(MimeKit.Text.TextFormat.Text)
  { Text = message.Content };
  return mimeMessage;
}

用 MailKit 同步發(fā)送 Email

為了最終能夠?qū)崿F(xiàn) email 發(fā)送,需要使用 MailKit.Net.Smtp 命名空間下的 SmtpClient 類,下面的代碼展示了具體實(shí)現(xiàn)步驟。

using (SmtpClient smtpClient = new SmtpClient())
{
 smtpClient.Connect(_notificationMetadata.SmtpServer,
 _notificationMetadata.Port, true);
 smtpClient.Authenticate(_notificationMetadata.UserName,
 _notificationMetadata.Password);
 smtpClient.Send(mimeMessage);
 smtpClient.Disconnect(true);
}

為了方便起見,我就把完整的發(fā)送 Email 代碼放在 DefaultController.Get 方法下。

public string Get()
{
 EmailMessage message = new EmailMessage();
 message.Sender = new MailboxAddress("Self", _notificationMetadata.Sender);
 message.Reciever = new MailboxAddress("Self", _notificationMetadata.Reciever);
 message.Subject = "Welcome";
 message.Content = "Hello World!";
 var mimeMessage = CreateEmailMessage(message);
 using (SmtpClient smtpClient = new SmtpClient())
 {
  smtpClient.Connect(_notificationMetadata.SmtpServer,
  _notificationMetadata.Port, true);
  smtpClient.Authenticate(_notificationMetadata.UserName,
  _notificationMetadata.Password);
  smtpClient.Send(mimeMessage);
  smtpClient.Disconnect(true);
 }
 return "Email sent successfully";
}

用 MailKit 異步發(fā)送 Email

上面我們用同步的方式發(fā)送 Email,這一節(jié)來(lái)看看如何使用異步的方式發(fā)送 Email。

using (SmtpClient smtpClient = new SmtpClient())
 {
  await smtpClient.ConnectAsync(_notificationMetadata.SmtpServer,
  _notificationMetadata.Port, true);
  await smtpClient.AuthenticateAsync(_notificationMetadata.UserName,
  _notificationMetadata.Password);
  await smtpClient.SendAsync(mimeMessage);
  await smtpClient.DisconnectAsync(true);
}

關(guān)于在Asp.Net Core中發(fā)送一個(gè)Email的步驟有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

新聞名稱:在Asp.NetCore中發(fā)送一個(gè)Email的步驟有哪些-創(chuàng)新互聯(lián)
URL分享:http://www.aaarwkj.com/article36/gccsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、搜索引擎優(yōu)化、App開發(fā)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
女厕所偷拍一区二区三区| 精品国产91久久粉嫩| 日本大胆高清人体艺术| 91美女人妻精品久久| 亚洲av一本岛在线播放| 亚洲视频在线视频看视频在线| 亚洲人妻激情一区二区| 亚洲少妇插进去综合网| 精品国产a级黄毛网站| 亚洲欧美中文日韩二区一区| 91亚洲自偷观看高清| 国产av一区二区三区高潮蜜| 人妻精品中文字幕一区二区在线| 久久综激情丁香开心婷婷| 一区二区欧美日韩91| 欧美日韩性生活视频在线| 韩国一级av免费在线| 国产精品三级国产精品高| 国产精品蜜臀av在线一区| 日韩蜜桃av一二三四区| 亚洲乱码国产乱码精品| 中文字幕有码高清在线| 日韩国产传媒视频在线观看| 亚洲国产日韩精品av| 精品久久久久久久久无| 欧美亚洲国产精品综合在线| 美女在线免费观看av| 久久亚洲中文字幕精品一区四区| 97视频高清在线观看| 久久这里只有精品视频六| 亚洲巨大黑人一区二区三区| 日韩在线一区中文字幕| av资源在线观看少妇丰满| 国产成人综合亚洲不卡| 91麻豆亚洲国产成人久久| 丰满少妇高潮在线视频| 日本熟女视频免费观看| 日本一区二区高清网址| 亚洲中文字幕乱码第一页| 日日干天天日夜夜操| 久久se精品人妻一区二区三区|