2016-12-20 5 views
1

Я реализую двухфакторную авторизацию с использованием asp.net identity 2.1. Отправка электронной почты со ссылкой для подтверждения работает правильно, но я столкнулся с проблемой, пытаясь отформатировать тело письма. Для тех, кто знаком с Идентичностью 2.1, вот код, который я использую для отправки электронной почты:Формат ASP.NET href в элементе электронной почты показывает целую ссылку вместо текста

await UserManager.SendEmailAsync(user.Id, "Reset Password", "Paragraph 1\n\nParagraph 2\n\nClick the reference below\n\n<a href=\"" + callbackUrl + "\">Link</a>"); 

Я ожидал, что только слова «Link», чтобы выглядеть как гипертекст, но вместо того, чтобы вся ссылка отображается не только слово «Ссылка ». В электронном письме тело отображается, как ожидается, до тех пор, пока вы не перейдете к ссылке, и оно выглядит как:

Ссылка «URL-адрес ссылки подчеркивается как гипертекст, но ведущая« ссылка »отображается как обычный текст. ссылка, она работает точно так, как ожидалось. Я пробовал использовать string.format, и я посмотрел на другие примеры, иллюстрирующие образец экрана, который отражает вид, который я хочу, просто слово «ссылка» как гипертекст, и я действительно скопировал свой код и он по-прежнему не работает.

что я с видом или делаю неправильно здесь? Любые предложения будут оценены.

Приветствия, Ларри

ответ

1

Решение было очень простым. Вы должны убедиться, что тело отправленного сообщения находится в формате HTML. Так включают следующее службы электронной почты:

message.IsBodyHTML = true; 

где сообщение IdentityMessage (в случае ASP.Net идентичности 2.1)

Очень простое решение, и не мог поверить, что я не думаю об этом или найти его уже ответили, как here!

Cheers, Larry