C# 电子邮件正文中href的ASP.NET格式显示整个链接,而不是文本

C# 电子邮件正文中href的ASP.NET格式显示整个链接,而不是文本,c#,asp.net,email,asp.net-identity-2,C#,Asp.net,Email,Asp.net Identity 2,我正在使用asp.net identity 2.1实现双因素授权。发送带有确认链接的电子邮件是正确的,但我在尝试格式化电子邮件正文时遇到了问题。对于熟悉Identity 2.1的用户,以下是我用来发送电子邮件的代码: await UserManager.SendEmailAsync(user.Id, "Reset Password", "Paragraph 1\n\nParagraph 2\n\nClick the reference below\n\n<a href=\"" + call

我正在使用asp.net identity 2.1实现双因素授权。发送带有确认链接的电子邮件是正确的,但我在尝试格式化电子邮件正文时遇到了问题。对于熟悉Identity 2.1的用户,以下是我用来发送电子邮件的代码:

await UserManager.SendEmailAsync(user.Id, "Reset Password", "Paragraph 1\n\nParagraph 2\n\nClick the reference below\n\n<a href=\"" + callbackUrl + "\">Link</a>");
wait UserManager.sendmailasync(user.Id,“重置密码”,“段落1\n\n段落2\n\n单击下面的引用\n\n”);
我原以为只有“链接”这个词会以超文本的形式出现,但实际上整个链接并不仅仅是“链接”这个词。在电子邮件中,正文将按预期显示,直到您到达链接并显示为:

链接“。链接url全部以超文本下划线,但前导的“链接”显示为纯文本。如果单击链接,它将完全按照预期工作。我尝试使用string.format,并查看了其他示例,这些示例通过示例屏幕捕获了我想要的外观,只是“链接”一词“作为超文本,我实际上复制了他们的代码,但仍然不起作用

我在这里忽略了什么或做错了什么?如有任何建议,将不胜感激

干杯,
拉里

解决方案非常简单。您必须确保发送的邮件的正文是HTML格式。因此,在您的电子邮件服务中包括以下内容:

message.IsBodyHTML = true;
其中消息为IdentityMessage(对于ASP.Net Identity 2.1)

非常简单的解决方案,简直不敢相信我没有想到它,或者发现它已经回答了,就像

干杯, 拉里