C# 实施EmailService,在管理员回复邮件时通知用户
我正在寻找一些C# 实施EmailService,在管理员回复邮件时通知用户,c#,entity-framework-core,asp.net-core-mvc,C#,Entity Framework Core,Asp.net Core Mvc,我正在寻找一些电子邮件服务,当管理员在他/她的帖子上回答时,它会通知用户。 我有一个HelDesk Web应用程序,它是在ASP.NET核心MVC中完成的,到目前为止,我已经讨论了哪个管理员可以回答用户问题。无论何时管理员在票证中回答,用户都应该在电子邮件中收到通知 [HttpPost] public IActionResult SendDiscussion(int ticketId, string message) { var userN
电子邮件服务
,当管理员在他/她的
帖子上回答时,它会通知用户。
我有一个HelDesk Web应用程序,它是在ASP.NET核心MVC中完成的,到目前为止,我已经讨论了哪个管理员可以回答用户问题。无论何时管理员在票证中回答,用户都应该在电子邮件中收到通知
[HttpPost]
public IActionResult SendDiscussion(int ticketId, string message)
{
var userName = User.FindFirstValue(ClaimTypes.Email);
var account = _db.ApplicationUsers.SingleOrDefault(a => a.UserName.Equals(userName));
var discussion = new Discussion
{
DateAndTime = DateTime.Now,
Content = message,
TicketId = ticketId,
UserId = account.Id,
ApplicationUser = account
};
_unitOfwork.Discussion.Add(discussion);
_unitOfwork.Save();
return RedirectToAction("Details", new { id = ticketId });
}
电子邮件应仅发送给投递票证的用户。目前我有大约10个用户,但这个数字将增加到100个用户。
我查看了这篇文章,但我不确定这是否是一个好的解决方案
任何能指导我并告诉我MailKit是用于此目的的好解决方案的人?我建议使用
FluentEmail
库,它很容易集成并提供您想要的一切
以下是开源项目:
将此软件包安装到项目中时,它很容易使用:
public IActionResult SendDiscussion(int ticketId, string message)
{
// Your code
// Email variable should be passed as dependency injection or directly created here
await email
.To("test@test.test")
.Subject("test email subject")
.Body("This is the email body")
.SendAsync();
}
谢谢@Emin的建议和帮助。我将尝试这个解决方案再问一个问题<代码>到(“test@test.test“”我应该只发送用户登录的电子邮件。如何做到这一点?我有ApplicationUser类,电子邮件应该只发送给提交帖子的用户。这是业务逻辑方面,您必须处理该部分以检索已登录的用户,并仅向这部分代码提供电子邮件。这里有一些说明: