如何更改 ASP.NET Core Identity 电子邮件确认消息

How to change the ASP.NET Core Identity email confirmation message

我已经设置了一个带有身份的 ASP.NET Core 5 网络应用程序。一切正常。唯一的问题是,在新用户点击电子邮件确认中的 link 后,网站上显示的消息显示为“确认电子邮件”。确认有效,但消息使用户感到困惑。

发送到的地址是:

https:///baseurl/Identity/Account/ConfirmEmail?userId=********

Identity/Account 文件夹中的

None 个文件包含显示的消息。是否可以更改此消息?如果可以,如何实现?

默认 ASP.NET Core Identity 设置包含许多 Razor 页面,默认包含这些页面以使 Identity 正常工作。

在您的例子中,电子邮件是由 Register.cshtml 页面发送的:

await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
    $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

然后 callbackUrl 会导致显示 status message:

ConfirmEmail.cshtml
StatusMessage = result.Succeeded ? "Thank you for confirming your email." : "Error confirming your email.";

可以 scaffold the Identity UI, either partially or in full,让 Identity scaffolder 将页面复制到您的项目中,以便您可以修改它们。这允许您完全替换默认行为,以便您可以更改文本、设计甚至页面的功能。