Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 3 октября, печатный экземпляр отправим 7 октября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №32 (322) август 2020 г.

Дата публикации: 06.08.2020

Статья просмотрена: 6 раз

Библиографическое описание:

Бахтин, И. В. Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core / И. В. Бахтин. — Текст : непосредственный // Молодой ученый. — 2020. — № 32 (322). — С. 3-8. — URL: https://moluch.ru/archive/322/73035/ (дата обращения: 22.09.2020).



Использование сервиса API SendGrid для реализации отправки Email -сообщений в проекте ASP . NET Core

Бахтин Игорь Владиславович, студент

Северный (Арктический) федеральный университет имени М. В. Ломоносова (г. Архангельск)

В данной статье рассмотрено использование Email-рассылки при помощи API SendGrid в проекте ASP.NET Core.

Ключевые слова : Email-рассылка, ASP.NET Core,.NET Core, SendGrid, API.

This article discusses how to use Email mailing using the API SendGrid in the ASP.NET Core project.

Keywords: Email newsletter, ASP.NET Core, .NET Core, SendGrid, API.

Существует много причин, по которым может потребоваться отправка Email сообщений с веб-сайта. Возможно, необходимо подтверждать аккаунт при помощи электронной почты, или организовать службу обратной связи с тех. поддержкой интернет-магазина.

Рассмотрим API сервиса SendGrid, который позволяет внедрить отправку Email сообщений на сайт.

Процесс установки довольно легок:

– необходимо зарегистрироваться на сайте SendGrid [1];

– получить API ключи;

– добавить их в исходный проект;

– настроить отправку сообщений в проекте.

Первым делом, зарегистрируемся на сайте. В качестве примера выберем бесплатный тариф, который ограничивает некоторые действия, например, 40 тысяч сообщений в месяц, что для крупного интернет-магазина будет довольно мало, но для развивающегося — это отличный вариант. Но также на сайте можно модифицировать тарифный план под нужды магазина, что соответственно скажется на ежемесячной стоимости сервиса. На рисунке 1 представлен список тарифных планов сервиса.

Список тарифных планов

Рис. 1. Список тарифных планов

Итак, после выбора тарифного плана вводим личные данные: электронная почта, примерное количество отправляемых сообщений в месяц, имя и фамилия, сайт и т. д. После успешной регистрации необходимо выбрать пункт «Integrate using our Web API or SMTP relay» в соответствии с рисунком 2.

Выбор интеграции

Рис. 2. Выбор интеграции

Выберем Web API. Дальнейшим шагом необходимо язык программирования. Так как проект на ASP.NET Core, то выберем C# в соответствии с рисунком 3.

Выбор языка программирования

Рис. 3. Выбор языка программирования

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

Сгенерированный ключ

Рис. 4. Сгенерированный ключ

После этого необходимо добавить этот ключ в конфигурационный файл «appsettings.json», в соответствии с рисунок 5.

Добавление ключа в конфигурационный файл

Рис. 5. Добавление ключа в конфигурационный файл

Создадим класс «EmailSender», в котором настроим параметры отправки сообщений. Сервис предоставляет конструкцию, которую необходимо настроить своими данными в соответствии с рисунком 6.

Стандартная конструкция Execute

Рис. 6. Стандартная конструкция Execute

Для того чтобы настроить под себя необходимо связать данные с «appsettings.json» с данным классом. Для этого создадим класс «EmailOptions» и укажем два поля: SendGridKey (API ключ) и SendGriduser (Название ключа).

Далее при помощи процесса Внедрение зависимости (от англ. Dependency Injection, DI) [2] свяжем данные. Для этого в классе «Startup.cs» при помощи метода «AddSingleton» свяжем интерфейс «IEmailSender» с классом «EmailSender», и при помощи метода «Configure» свяжем класс с файлом конфигурации в соответствии с рисунком 7.

Связывание данных

Рис. 7. Связывание данных

На рисунке 8 представлен один из вариантов настройки класса «EmailSender», который отправляет сообщения при регистрации пользователя на веб-приложении ASP.NET Core.

Класс EmailSender

Рис. 8. Класс EmailSender

Запустим проект, зарегистрируем пользователя и проверим, пришло ли сообщение в соответствии с рисунками 9 и 10.

Отправка письма с подтверждением

Рис. 9. Отправка письма с подтверждением

Успешная отправка письма

Рис. 10. Успешная отправка письма

При переходе по ссылке открывается ссылка, которая уведомляет, что аккаунт подтвержден, рисунок 11.

Подтверждение аккаунта

Рис. 11. Подтверждение аккаунта

Таким образом, на веб-приложение, созданное при помощи ASP.NET Core, успешно добавлен API SendGrid, который позволяет отправлять сообщения пользователям на электронную почту. В качестве примера была реализована отправка писем при регистрации новых пользователей, для того чтобы они могли подтверждать свой аккаунт.

Внедрение API позволяет без лишних проблем добавлять функционал в приложения, инструкция позволяет быстро и удобно настроить сервис.

Литература:

  1. Официальный сайт SendGrid — SendGrid [Электронный ресурс].– Режим доступа: https://sendgrid.com (дата обращения: 25.06.2020)
  2. Жизненный цикл зависимостей — Metanit [Электронный ресурс].– Режим доступа: https://metanit.com/sharp/aspnet5/6.2.php (дата обращения: 25.06.2020)
Основные термины (генерируются автоматически): API, NET, рисунок, сообщение, ASP, SMTP, конфигурационный файл, помощь метода, тарифный план, электронная почта.


Ключевые слова

API, Asp.Net Core, Email-рассылка, .NET Core, SendGrid
Задать вопрос