我一直在搜索,但没有找到任何关于如何使用新的ASP.net身份实现MVC 5的电子邮件确认的文档.似乎没有关于这个主题的任何文档(我可以找到).
有人解决了这个吗?我很惊讶默认情况下默认情况下不会包含在默认的MVC 5项目中.
非常感谢任何指导.
谢谢
在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发送的任何想法以及我如何解决这个问题?
谢谢!