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

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

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

Автор:

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

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

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

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

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

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



Использование сервиса 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

Похожие статьи

Использование двухфакторной аутентификации в проекте ASP.NET Core

Данная статья рассматривает процесс настройки двухфакторной аутентификации в проектах ASP.NET Core.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Автоматическая поддержка документации Asp.Net Core и Angular веб-приложений

В данной статье рассматривается автоматизация генерации и сопровождения документации Asp.Net Core и Angular приложения, с автоматической публикацией в GitLab.

Разработка TCP-чата с использованием фреймворка Electron

В статье рассматривается разработка серверной части TCP чата на языке JavaScript с использованием node.js и клиентской части TCP чата c использованием фреймворка Electron.

Технология ASP.NET MVC

В статье рассматривается проектирование архитектуры приложений ASP.NET MVC. Авторы описывают теоретические основы ASP.NET MVC, которые необходимы для разработки web-приложений платформы.NET Framework.

Обзор основных технологий контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются основные технологии контент-менеджмент системы Adobe Experience Manager: их возможности и схема взаимодействия. Данные основываются на открытых источниках документации технологий Apache Foundation, а так же офи...

Защита веб-приложения на фреймворке Django

При проектировании веб-приложения важна защита пользовательских данных. В данной статье рассмотрим основные типы атак и методы защиты на фреймворке Django.

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Автоматизированное добавление печатных штампов при помощи Adobe Acrobat 6.0 благодаря использованию Visual Basic (VBA) и JavaScript

В статье рассматривается наиболее простой способ добавления печатных штампов в документ MS Word, а именно при помощи макроса, описанного на языке программирования Visual Basic for Application с использованием Adobe Acrobat 6.0 и элементов программиро...

Диагностика утечек памяти в Java-приложениях

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

Похожие статьи

Использование двухфакторной аутентификации в проекте ASP.NET Core

Данная статья рассматривает процесс настройки двухфакторной аутентификации в проектах ASP.NET Core.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Автоматическая поддержка документации Asp.Net Core и Angular веб-приложений

В данной статье рассматривается автоматизация генерации и сопровождения документации Asp.Net Core и Angular приложения, с автоматической публикацией в GitLab.

Разработка TCP-чата с использованием фреймворка Electron

В статье рассматривается разработка серверной части TCP чата на языке JavaScript с использованием node.js и клиентской части TCP чата c использованием фреймворка Electron.

Технология ASP.NET MVC

В статье рассматривается проектирование архитектуры приложений ASP.NET MVC. Авторы описывают теоретические основы ASP.NET MVC, которые необходимы для разработки web-приложений платформы.NET Framework.

Обзор основных технологий контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются основные технологии контент-менеджмент системы Adobe Experience Manager: их возможности и схема взаимодействия. Данные основываются на открытых источниках документации технологий Apache Foundation, а так же офи...

Защита веб-приложения на фреймворке Django

При проектировании веб-приложения важна защита пользовательских данных. В данной статье рассмотрим основные типы атак и методы защиты на фреймворке Django.

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Автоматизированное добавление печатных штампов при помощи Adobe Acrobat 6.0 благодаря использованию Visual Basic (VBA) и JavaScript

В статье рассматривается наиболее простой способ добавления печатных штампов в документ MS Word, а именно при помощи макроса, описанного на языке программирования Visual Basic for Application с использованием Adobe Acrobat 6.0 и элементов программиро...

Диагностика утечек памяти в Java-приложениях

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

Задать вопрос