Требуется разработать web-сервис, задача которого формировать и отправлять письма адресатам и логировать результат в БД.
- Web-сервис должен принимать POST запрос по url: /api/mails/. Тело запроса в формате json. Модель запроса прикладывается:
{
"subject": "string",
"body": "string",
"recipients": [ "string" ]
}
- Метод обработки должен:
- Сформировать email сообщение, выполнить его отправку.
- Добавить запись в БД. В записи указать все поля, которые пришли в сообщении, дату создания и результат отправки в виде поля Result: (значения Ok, Failed), а также поле FailedMessage (должно быть пустым или содержать ошибку отсылки уведомления).
- Web-сервис должен отвечать на GET запросы по url /api/mails/. В результате запроса на этот url требуется выдать список всех отправленных сообщений (сохраненных в БД), включая поля с п.2.2. в формате json.
- Требуется написать комментарии на все public свойства и методы (написанные разработчиком) придерживаясь XML Documentation Comments (https://msdn.microsoft.com/en-us/library/b2s063f7.aspx)
- Конфигурацию SMTP сервера вынести в файл конфигурации. Не нужно указывать реальные настройки вашего GMAIL аккаунта или SMTP релея!
- Разработку сервиса выполнить на c# .NET. В Visual Studio 2015+ (2015 и 2017 есть Community Edition) либо в Visual Studio Code (для linux).
- Для разработки сервиса использовать строго ASP.NET Core (любой удобной версии).
- В качестве СУБД можно использовать любую реляционную (PgSQL, MySQL, MS SQL, или другую, с которой знакомы).
- В качестве ORM фреймворка можно использовать Entity Framework или NHibernate или Dapper. Если используется Dapper, то схему БД выдать в виде SQL скрипта (CREATE DATABASE…).
- Библиотеку для отправки сообщений выбрать на свое усмотрение.
- Результат работы в виде архива решения выслать на почту.