小编agi*_*ike的帖子

ASP.NET身份确认电子邮件是纯文本而不是HTML

在ASP.NET MVC5 C#应用程序中,我使用标准代码在用户注册时发送确认电子邮件,这是我在多个项目中完成的事情:

var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
Run Code Online (Sandbox Code Playgroud)

通常,当收件人收到电子邮件时,它的内容类型是text/html.但是,在这个应用程序中,电子邮件以内容类型text/plain到达,内容不呈现为html,它呈现为纯文本.它应该是这样的:

请点击此处确认您的帐户

但它看起来像这样:

Please confirm your account by clicking <a href="https://localhost:44309/Account/ConfirmEmail?userId=8b126243-1f78-4e42-87d2-ab3c7c350f99&code=tokengoeshere">here</a>
Run Code Online (Sandbox Code Playgroud)

我搜索了文档,但找不到任何信息来说明为什么会这样或者确实如何改变这种行为.

我还更新了最新版本的Microsoft ASP.NET身份核心(2.2.1),这可能有所帮助,但它对此问题没有任何影响.

我还测试了从Google Apps电子邮件帐户发送的另一个组织(我使用其他具有相同代码的应用程序发送此确认电子邮件并知道它以html格式发送),以防有重要的设置.

关于它为什么以text/plain发送的任何想法以及我如何解决这个问题?

谢谢!

c# asp.net-mvc-5 asp.net-identity

5
推荐指数
2
解决办法
3717
查看次数

标签 统计

asp.net-identity ×1

asp.net-mvc-5 ×1

c# ×1