Отправка HTML писем созданных с помощью движка представлений Razor

Преобразование страницы Razor в строку

Платформа .NET обладает очень удобным встроенным средством для генерации HTML — движок представлений Razor. Большинство ASP.NET разработчиков хорошо знакомы с его возможностями, однако использование его возможностей для генерации HTML кода писем электронной почты не очевидно для начинающих разработчиков.

В данной статье я хочу рассказать о созданном мною комплексе пакетов, упрощающих использование движка представлений Razor для для генерации HTML кода писем электронной почты. Генерировать HTML код писем будем используя библиотеку ServicesLibrary.RazorViewRendering, для отправки писем электронной почты возьмем библиотеку ServicesLibrary.Email.

Подключим сервисы в приложение (файл Sturtup.cs):

Для подключения сервиса отправки электронных писем необходимо задать ему настройки электронной почты, которая будет использоваться для отправки писем, в данном случаи настройки были взяты из конфигурации приложения.

РЕКОМЕНДУЕМ:
Преобразование страницы Razor в строку

Для генерации HTML письма необходимо создать страницу представления и модель данных, в данном случаи была использована простейшая модель данных, представленная ниже:

Модели данных HelloWorldModel соответствует простейшее представление HelloWorldModel.cshtml:

Генерацию HTML письма и его отправку осуществим с использованием страницы RazorPages:

Модель страницы имеет вид:

При нажатии на кнопку происходит пост запрос на сервер, в результате чего вызывается метод OnPost. В этом методе происходит генерация HTML кода письма, исходя из заполненных полей в форме:

Далее строка передается на отправку, для этого используется сервис отправки электронной почты, подключенный и настроенный ранее:

В результате на почты пришло письмо следующего вида:

Спасибо за внимание, надеюсь созданные мною библиотеки будут полезны.

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (3 оценок, среднее: 5,00 из 5)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Добавить комментарий