Посібник із простої служби електронної пошти (AWS SES) із Spring Boot і Spring Cloud PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Посібник із простої служби електронної пошти (AWS SES) із Spring Boot і Spring Cloud

Вступ

AWS SES (проста служба електронної пошти) це проста в налаштуванні служба надсилання та отримання електронної пошти. Зазвичай керувати локальною системою електронної пошти складно, вибагливо та стомлююче, тому популярним вибором є аутсорсинг.

Ми можемо використовувати Amazon SES для надсилання транзакційних електронних листів, маркетингових електронних листів або будь-яких інших сповіщень нашим клієнтам. Це доступне рішення для компаній будь-якого розміру, які використовують електронну пошту для зв’язку зі своїми клієнтами, оскільки воно побудовано на надійній і масштабованій інфраструктурі Веб-служби Amazon (AWS).

Для надсилання масових електронних листів будь-яка програма може взаємодіяти з Amazon SES. Ми платимо лише за електронні листи, які фактично надсилаємо, незалежно від того, чи це транзакційні чи маркетингові електронні листи. Крім того, Amazon SES підтримує низку конфігурацій, зокрема виділені, спільні чи власні IP-адреси. Компанії можуть зробити кожну електронну пошту вагомою за допомогою інформаційних панелей доставки та звітів щодо інформації про відправника.

У цьому посібнику ми збираємося налаштувати екземпляр AWS SES у регіоні, а потім інтегрувати з ним Spring Cloud для AWS який є підпроектом Весняна хмара. Ми випробуємо різні сценарії надсилання електронних листів із нашої програми.

Примітка: Ви можете знайти весь вихідний код, використаний у посібнику на Github.

Життєвий цикл надсилання електронної пошти за допомогою AWS SES

Давайте розглянемо, як життєвий цикл електронного листа, надісланого програмою, досягає поштової скриньки призначення:

  • Програма, у нашому випадку код Spring Cloud, просить AWS SES надіслати електронний лист одному або кільком одержувачам.

  • SES спочатку перевіряє запит і, якщо він схвалений, створює повідомлення електронної пошти з характеристиками запиту. Це повідомлення електронної пошти має заголовок, текст і конверт і відповідає RFC 5322Визначення формату Інтернет-повідомлення.

  • Потім SES передає повідомлення одержувачу через Інтернет. Як тільки повідомлення передається до SES, воно часто передається відразу, причому перша спроба доставки зазвичай відбувається за лічені мілісекунди.

  • Наразі є кілька результатів. Наприклад:

    • Успішна доставка: Інтернет-провайдер (ISP) приймає електронний лист і надсилає його призначеному одержувачу.
    • Жорсткий відскок: оскільки адреса одержувача недійсна, провайдер відхиляє електронний лист. Інтернет-провайдер надсилає сповіщення про жорстку відмову назад до Amazon SES, який сповіщає відправника електронною поштою або публікує його в темі Amazon Simple Notification Service (Amazon SNS), налаштованій для отримання цього сповіщення.
    • М'який відскок: Через такі обставини, як папка «Вхідні» одержувача заповнена, домен не існує або будь-які тимчасові обставини, як-от Інтернет-провайдер надто зайнятий, щоб обробити запит, Інтернет-провайдер може не в змозі доставити електронний лист одержувачу. Потім провайдер повторює спроби надіслати електронну пошту певну кількість разів і надсилає SES повідомлення про м’яку відмову. Якщо SES не може доставити електронний лист протягом зазначеного періоду часу, він або публікує подію в темі SNS, або надсилає повідомлення електронною поштою про жорстку відмову.
    • Скарга: електронний лист класифікується як спам одержувачем у його програмі електронної пошти. Повідомлення про скаргу передається в Amazon SES, який потім передає його відправнику, якщо між Amazon SES і Інтернет-провайдером налагоджено зв’язок.
    • Автоматична відповідь: Інтернет-провайдер одержувача сповіщає Amazon SES про автоматичну відповідь одержувача, як-от повідомлення про відсутність на місці, а Amazon SES передає сповіщення відправнику.

Якщо доставка не вдається, Amazon SES повертає відправнику повідомлення про помилку та видаляє електронний лист.

Налаштування Amazon SES

На відміну від будь-яких інших служб AWS, тут практично немає необхідності створювати екземпляр SES, оскільки всі нові облікові записи AWS за замовчуванням розміщуються в пісочниці AWS SES. Кожен обліковий запис AWS за умовчанням має доступ ізольованого програмного середовища для AWS SES у доступних регіонах.

У режимі пісочниці ми можемо надсилати електронні листи лише підтвердженим особам. Домен або електронна адреса, які ми використовуємо для надсилання електронних листів, є підтвердженою особою. Ми повинні сконструювати та перевірити кожну ідентичність, яку маємо намір використовувати як From, To, Source, Senderабо Return-Path перш ніж ми зможемо надіслати електронний лист за допомогою SES у режимі ізольованого програмного середовища. Використовуючи Amazon SES для підтвердження особи, ми можемо довести своє право власності та припинити незаконне використання.

Щоб уникнути шахрайства та зберегти репутацію IP-адреси, AWS SES передбачає обмеження на надсилання електронних листів. Ці обмеження визначають максимальну кількість електронних листів за секунду та щоденний ліміт електронних листів для кожного користувача. Звернувшись до Центру підтримки AWS, ми можемо встановити такі квоти за регіонами.

Давайте перевіримо особи. Увійдіть у консоль AWS і знайдіть «Простий сервіс електронної пошти Amazon"

SES Intro

Потім натисніть “Створіть ідентичність”, щоб додати електронну адресу або домен для підтвердження. У нашому випадку ми збираємося додати електронну адресу для перевірки.

Створіть ідентичність

Коли особу буде створено, ми зможемо перевірити деталі.

Створена ідентичність

Ідентичність, яку ми створили, переходить у "Очікується перевірка» етап. На цьому етапі користувачеві потрібно перевірити лист із підтвердженням від AWS і виконати вказівки, щоб отримати підтвердження електронної пошти.

Підтверджена особа

Далі нам потрібно отримати "ключ доступу"І"секретний ключ» для автентифікації та авторизації нашої програми в SES. Щоб створити це, нам потрібно створити групу користувачів і додати користувача до цієї групи. Коли ми створюємо цього користувача, AWS генерує ключ доступу та секретний ключ. Отже, давайте переспрямуємо на “IAM» у консолі AWS і створіть групу користувачів.

Створити групу користувачів

Тоді нам потрібно додати "Доступ адміністратора” дозвіл цій групі для SES.

Додати дозвіл

Нарешті, ми додамо користувача до групи вище.

Додати користувача

Далі нам потрібно вибрати групу для дозволів.

Додати групу

Нарешті, скопіюйте ключ доступу та секретний ключ, які відображаються на екрані, для подальшого використання.

Надсилання електронних листів за допомогою Spring Cloud Project

Налаштування проекту

Давайте розгорнемо проект Spring Cloud і розглянемо варіанти використання для інтеграції з SES. Найпростіший спосіб почати з каркасного проекту через Весняний ініціалізатор:

Весняний ініціалізатор

Ми додали Весняна мережа для REST MVC, Apache Freemarker для створення шаблонів електронної пошти на основі HTML, Java Mail Sender щоб надіслати електронний лист і Ломбок (додаткова шаблонна бібліотека) залежностей. Крім того, нам потрібно додати відповідні залежності для Spring Cloud AWS і SES. Для Spring Cloud AWS ми додамо окрему специфікацію Spring Cloud AWS pom.xml файл за допомогою цього блок:

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>io.awspring.cloud</groupId>
			<artifactId>spring-cloud-aws-dependencies</artifactId>
			<version>2.3.0</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

Нарешті, щоб додати підтримку SES, нам потрібно включити залежність модуля, яка доступна як початковий модуль spring-cloud-starter-aws-ses:

<dependency>
	<groupId>io.awspring.cloud</groupId>
	<artifactId>spring-cloud-starter-aws-ses</artifactId>
</dependency>

spring-cloud-starter-aws-ses включає транзитивні залежності для spring-cloud-starter-aws та spring-cloud-aws-ses, spring-cloud-aws-ses модуль для SES містить два класи: SimpleEmailServiceMailSender та SimpleEmailServiceJavaMailSender.

  • Команда SimpleEmailServiceMailSender клас використовує Amazon Simple Email Service для надсилання електронних листів. Java Mail API не є обов’язковою умовою для цієї реалізації. Його можна використовувати для надсилання звичайних поштових повідомлень без вкладень.
  • Команда SimpleEmailServiceJavaMailSender клас дозволяє надсилати електронні листи, які містять вкладення та інші елементи MIME.

Отже, це покриває всі наші основні вимоги!

Налаштування Bean

Як обговорювалося вище, нам потрібно визначити два типи бобів: SimpleEmailServiceMailSender та SimpleEmailServiceJavaMailSender. Ми можемо просто передати ключ доступу та секретний ключ як облікові дані та налаштувати a MailSender bean, який ми будемо використовувати для надсилання електронних листів:

@Configuration
public class SesConfig {

    @Value("${cloud.aws.credentials.access-key}")
    private String accessKey;

    @Value("${cloud.aws.credentials.secret-key}")
    private String secretKey;

    @Value("${cloud.aws.region.static}")
    private String region;

    @Bean
    public AmazonSimpleEmailService amazonSimpleEmailService() {
        BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
        return AmazonSimpleEmailServiceClientBuilder.standard()
                .withCredentials(new AWSStaticCredentialsProvider(credentials))
                .withRegion(region)
                .build();
    }

    @Bean
    public MailSender mailSender(AmazonSimpleEmailService amazonSimpleEmailService) {
        return new SimpleEmailServiceMailSender(amazonSimpleEmailService);
    }

    @Bean
    public JavaMailSender javaMailSender(AmazonSimpleEmailService amazonSimpleEmailService) {
        return new SimpleEmailServiceJavaMailSender(amazonSimpleEmailService);
    }
}

Щоб надсилати електронні листи з вкладеннями, нам потрібно налаштувати SimpleEmailServiceJavaMailSender який є реалізацією JavaMailSender інтерфейс із поштової абстракції Spring.

Ознайомтеся з нашим практичним практичним посібником із вивчення Git з передовими методами, прийнятими в галузі стандартами та включеною шпаргалкою. Припиніть гуглити команди Git і фактично вчитися це!

Ми також визначимо властивості для отримання інформації application.yml:

cloud:
  aws:
    region:
      static: eu-central-1
      auto: false
    stack:
      auto: false
    credentials:
      access-key: ********
      secret-key: **************************

Надсилання простої електронної пошти

Ми можемо надсилати прості електронні листи за допомогою SimpleEmailServiceMailSender bean, який ми налаштували вище. Давайте визначимо сервісний рівень для використання цього компонента:

@Service
public class EmailService {

    @Autowired
    private MailSender mailSender;

    public void sendMessage(SimpleMailMessage simpleMailMessage) {
        this.mailSender.send(simpleMailMessage);
    }
}

Ми дзвонимо send() метод у MailSender bean, щоб надіслати наш електронний лист. Нам також потрібно пройти SimpleMailMessage який міститиме такі атрибути, як from, to, текст і тему нашого електронного листа. Отже, давайте визначимо a Controller клас для виклику вищезазначеної служби за допомогою REST API:

@RestController
public class EmailController {

    @Autowired
    private EmailService emailService;

    @PostMapping("/sendEmail")
    public String sendMessage(@RequestBody EmailDetails emailDetails) {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(emailDetails.getFromEmail());
        simpleMailMessage.setTo(emailDetails.getToEmail());
        simpleMailMessage.setSubject(emailDetails.getSubject());
        simpleMailMessage.setText(emailDetails.getBody());
        emailService.sendMessage(simpleMailMessage);

        return "Email sent successfully";
    }
}

Тепер, якщо ми запустимо програму та виконаємо наступний curl, вона надішле електронний лист на перевірену адресу електронної пошти:

curl -i -X POST 
   -H "Content-Type:application/json" 
   -d 
'{
  "fromEmail": "[email protected]",
  "toEmail": "[email protected]",
  "subject": "test email",
  "body": "Hi, This is a test email."
}' 
 'http://localhost:8080/sendEmail'

Далі ми можемо ввійти в адресу електронної пошти одержувача та перевірити, чи отримав одержувач електронний лист.

Надсилання простого електронного листа з вкладенням

Ми визначимо рівень обслуговування, щоб передати вкладення як MIME та встановимо інші атрибути електронної пошти from, to, текст і тема:

@Service
public class EmailService {

    @Autowired
    private JavaMailSender javaMailSender;

    public void sendMessageWithAttachment(SimpleMailMessage simpleMailMessage) {

        try {
            MimeMessage message = javaMailSender.createMimeMessage();

            
            MimeMessageHelper helper = new MimeMessageHelper(
                    message,
                    MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
                    StandardCharsets.UTF_8.name());

            
            helper.addAttachment("logo.png", new ClassPathResource("logo.png"));
            helper.setTo(Objects.requireNonNull(simpleMailMessage.getTo()));
            helper.setText(Objects.requireNonNull(simpleMailMessage.getText()));
            helper.setSubject(Objects.requireNonNull(simpleMailMessage.getSubject()));
            helper.setFrom(Objects.requireNonNull(simpleMailMessage.getFrom()));
            javaMailSender.send(message);

        } catch (MessagingException e) {
            System.err.println("Exception: " + e.getMessage());
        }
    }
}

Ось ми і використовуємо MimeMessageHelper щоб створити електронний лист із вкладенням. Нарешті визначимося Controller шар для проходження SimpleMailMessage атрибути:

@RestController
public class EmailController {

    @Autowired
    private EmailService emailService;

    @PostMapping("/sendEmailWithAttachment")
    public String sendMessageWithAttachment(@RequestBody EmailDetails emailDetails) {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(emailDetails.getFromEmail());
        simpleMailMessage.setTo(emailDetails.getToEmail());
        simpleMailMessage.setSubject(emailDetails.getSubject());
        simpleMailMessage.setText(emailDetails.getBody());
        emailService.sendMessageWithAttachment(simpleMailMessage);

        return "Email sent successfully";
    }
}

Тепер, якщо ми запустимо програму та виконаємо наступний curl, вона надішле електронний лист на перевірену адресу електронної пошти:

curl -i -X POST 
   -H "Content-Type:application/json" 
   -d 
'{
  "fromEmail": "[email protected]",
  "toEmail": "[email protected]",
  "subject": "test email",
  "body": "Hi, This is a test email with attachment."
}' 
 'http://localhost:8080/sendEmailWithAttachment'

Далі ми можемо ввійти в адресу електронної пошти одержувача та перевірити, чи отримав одержувач електронний лист.

Надсилання шаблону електронної пошти з вкладенням

Попередні сценарії використання, які ми бачили, підходять для сценаріїв розробки чи тестування, але у виробництві ми зазвичай використовуємо шаблон електронної пошти зі змінними, які замінюються за допомогою відповідей API. Раніше ми додали залежність для Apache Freemarker. Ми використаємо його, щоб визначити шаблон і завантажити його для обробки!

Для цього давайте спочатку визначимо простий шаблон, назвемо його як email-template.ftl і помістіть його всередину templates папка під resources:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>StackAbuse Email</title>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="center" valign="top" bgcolor="#838383"
            style="background-color: #838383;"><br> <br>
            <table width="600" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td align="center" valign="top" bgcolor="#d3be6c"
                        style="background-color: #d3be6c; font-family: Arial,
                         Helvetica, sans-serif; font-size: 13px; color: #000000;
                          padding: 0px 15px 10px 15px;">

                        <div style="font-size: 48px; color:blue;">
                            <b>StackAbuse</b>
                        </div>

                        <div style="font-size: 24px; color: #555100;">
                            <br> Sending Email using Spring Cloud with <b>FreeMarker</b> template !!! <br>
                        </div>
                        <div>
                            <br> Want to learn a new technology or become an in-demand full-stack developer?<br>
                            <br> We teach the skills you need to level up in your career.<br>
                            <br>"Sharing knowledge is the biggest learning" <br> <br>
                            <br> <br> <b>${Name}</b><br>${location}<br>
                            <br>
                        </div>
                    </td>
                </tr>
            </table> <br> <br></td>
    </tr>
</table>
</body>
</html>

Далі нам потрібно визначити клас конфігурації, щоб завантажити шаблон зі шляху та додати його як компонент. Для цього визначимося FreeMarkerConfigurationFactoryBean:

@Configuration
public class FreemarkerConfig {

    @Primary
    @Bean
    public FreeMarkerConfigurationFactoryBean factoryBean() {
        FreeMarkerConfigurationFactoryBean bean = new FreeMarkerConfigurationFactoryBean();
        bean.setTemplateLoaderPath("classpath:/templates");
        return bean;
    }
}

Далі ми визначимо наш сервісний рівень, щоб завантажити цей шаблон і створити остаточне повідомлення для надсилання в SES:

@Service
public class EmailService {
    
    @Autowired
    private JavaMailSender javaMailSender;

    @Autowired
    private Configuration config;
    
    public void sendTemplateMessageWithAttachment(SimpleMailMessage simpleMailMessage) {

        try {
            MimeMessage message = javaMailSender.createMimeMessage();

            
            MimeMessageHelper helper = new MimeMessageHelper(
                    message,
                    MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
                    StandardCharsets.UTF_8.name());

            Template t = config.getTemplate("email-template.ftl");
            Map model = new HashMap();
            model.put("Name", "StackAbuse Admin");
            model.put("location", "Bangalore, India");
            String html = FreeMarkerTemplateUtils.processTemplateIntoString(t, model);

            
            helper.addAttachment("logo.png", new ClassPathResource("logo.png"));
            helper.setTo(Objects.requireNonNull(simpleMailMessage.getTo()));
            helper.setText(html, true);
            helper.setSubject(Objects.requireNonNull(simpleMailMessage.getSubject()));
            helper.setFrom(Objects.requireNonNull(simpleMailMessage.getFrom()));
            javaMailSender.send(message);

        } catch (MessagingException | IOException | TemplateException e) {
            System.err.println("Exception: " + e.getMessage());
        }
    }

Нарешті, ми визначимо a Controller шар для передачі динамічних атрибутів електронної пошти:

@RestController
public class EmailController {

    @Autowired
    private EmailService emailService;

    @PostMapping("/sendTemplateEmailWithAttachment")
    public String sendTemplateMessageWithAttachment(@RequestBody EmailDetails emailDetails) {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(emailDetails.getFromEmail());
        simpleMailMessage.setTo(emailDetails.getToEmail());
        simpleMailMessage.setSubject(emailDetails.getSubject());
        simpleMailMessage.setText(emailDetails.getBody());
        emailService.sendTemplateMessageWithAttachment(simpleMailMessage);

        return "Email sent successfully";
    }
}

Тепер, якщо ми запустимо програму та виконаємо наступний curl, вона надішле електронний лист на перевірену адресу електронної пошти:

curl -i -X POST 
   -H "Content-Type:application/json" 
   -d 
'{
  "fromEmail": "[email protected]",
  "toEmail": "[email protected]",
  "subject": "test email",
  "body": "Hi, This is a test template email with attachment."
}' 
 'http://localhost:8080/sendTemplateEmailWithAttachment'

Далі ми можемо ввійти в адресу електронної пошти одержувача та перевірити, чи отримав одержувач електронний лист:

Шаблон електронної пошти Freemarker

Надсилання персоналізованої електронної пошти за допомогою шаблонів у AWS SES

У попередньому випадку ми використовували статичний шаблон для надсилання електронних листів. Як увімкнути динамічний дизайн шаблонів для різних цілей і різних типів одержувачів? AWS SES дозволяє нам створювати шаблони електронної пошти для надсилання персоналізованих електронних листів до одного чи кількох адресатів за одну операцію.

Ми можемо створити до 10,000 500 шаблонів електронних листів для одного облікового запису Amazon SES. Кожен шаблон може мати розмір до 50 Кб, включаючи текстову та HTML-частини. Ми можемо надіслати до XNUMX адресатів під час кожного виклику.

Тож давайте швидко створимо шаблон електронного листа. По-перше, ми можемо визначити файл JSON за допомогою наступного шаблону:

{
  "Template": {
    "TemplateName": "MyTemplate",
    "SubjectPart": "Greetings from {{name}}!",
    "HtmlPart": "StackAbuse Email


StackAbuse

Sending Email using Spring Cloud with AWS SES Email template !!!

Want to learn a new technology or become an in-demand full-stack developer?

We teach the skills you need to level up in your career.

"Sharing knowledge is the biggest learning"



{{name}}
{{location}}



"
, "TextPart": "Dear {{name}},rnHere is your StackAbuse Email." } }

Цей шаблон містить такі атрибути:

  • TemplateName: містить назву шаблону.
  • SubjectPart: містить тему електронного листа. На цьому ресурсі можуть бути теги заміни. Ці теги мають такий формат: {{tagname}}. Ви можете ввести значення для {{tagname}} для кожного адресата під час надсилання електронної пошти.
  • HtmlPart: містить тіло HTML електронного листа, а також може містити теги заміни.
  • TextPart: це текст електронного листа. Ця версія електронного листа надсилається одержувачам, чиї поштові клієнти не переглядають електронні листи HTML. На цьому ресурсі можуть бути теги заміни.

Ми можемо зберегти цей файл як mytemplate.json. Нарешті, ми можемо використовувати команду AWS CLI для створення шаблону наступним чином:

$ aws ses create-template --cli-input-json file://mytemplate.json

Далі визначимо рівень служби, щоб визначити атрибути та надсилати шаблонні електронні листи:

@Service
public class EmailService {

    @Autowired
    private AmazonSimpleEmailService simpleEmailService;

    public void sendTemplatedMessage(SimpleMailMessage simpleMailMessage) {

        Destination destination = new Destination();
        List toAddresses = new ArrayList();
        String[] emails = simpleMailMessage.getTo();
        Collections.addAll(toAddresses, Objects.requireNonNull(emails));
        destination.setToAddresses(toAddresses);

        SendTemplatedEmailRequest templatedEmailRequest = new SendTemplatedEmailRequest();
        templatedEmailRequest.withDestination(destination);
        templatedEmailRequest.withTemplate("MyTemplate");
        templatedEmailRequest.withTemplateData("{ "name":"StackAbuse Admin", "location": "Bangalore, India"}");
        templatedEmailRequest.withSource(simpleMailMessage.getFrom());
        simpleEmailService.sendTemplatedEmail(templatedEmailRequest);
    }
}

Ми можемо додати кілька Destination адреси для масового надсилання електронних листів кільком одержувачам. Ми використовуємо sendTemplatedEmail() метод з AmazonSimpleEmailService інтерфейс для надсилання цього шаблонного електронного листа. Нам також потрібно передати теги заміни, які потрібно замінити, у тексті HTML нашого шаблону, який ми створили раніше.

Нарешті, ми визначимо a Controller рівень для визначення REST API для передачі атрибутів:

@RestController
public class EmailController {

    @Autowired
    private EmailService emailService;

    @PostMapping("/sendAWSTemplatedEmail")
    public String sendTemplatedMessage(@RequestBody EmailDetails emailDetails) {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(emailDetails.getFromEmail());
        simpleMailMessage.setTo(emailDetails.getToEmail());
        simpleMailMessage.setSubject(emailDetails.getSubject());
        simpleMailMessage.setText(emailDetails.getBody());
        emailService.sendTemplatedMessage(simpleMailMessage);

        return "Email sent successfully";
    }
}

Далі, коли ми запускаємо програму, ми можемо виконати наступне curl щоб надіслати шаблонні електронні листи:

curl -i -X POST 
   -H "Content-Type:application/json" 
   -d 
'{
  "fromEmail": "[email protected]",
  "toEmail": "[email protected]",
  "subject": "Greetings from StackAbuse Admin",
  "body": "Hi, This is a AWS templated email."
}' 
 'http://localhost:8080/sendAWSTemplatedEmail'

Тепер одержувач нарешті може побачити шаблон електронної пошти:

Шаблон електронної пошти

Запит на доступ до виробництва

Нарешті, щоб надіслати електронні листи будь-якому одержувачу, незалежно від того, чи адреса одержувача чи домен підтверджені, ми повинні остаточно вивести свій обліковий запис із пісочниці. Усі наші ідентичності, в тому числі From, Source, Sender та Return-Path адреси, ще потрібно перевірити. Ми можемо подати запит на доступ до виробництва з «Інформаційна панель облікового запису” наступним чином:

Інформаційна панель облікового запису
Запит на доступ до виробництва

Ми можемо надіслати запит, заповнивши всі вищезазначені дані з AWS Console. Те саме можна надіслати за допомогою AWS CLI. Це було б корисно, коли нам потрібно надіслати запит на доступ до великої кількості ідентифікаторів і ми хочемо автоматизувати процес.

Висновок

Ключові ідеї Amazon Simple Email Service (SES) і бібліотек, запропонованих Spring Cloud AWS для взаємодії з нею, були розглянуті в цій статті. Крім того, ми створили програму Spring Boot із REST API, яка може надсилати електронні листи через модуль Spring Cloud AWS SES.

Тепер ви маєте чітко розуміти, що таке Amazon Simple Email Service (SES) і як використовувати його для надсилання електронних листів.

Часова мітка:

Більше від Stackabuse