Рубрики
Без рубрики

Отправка электронных писем с Amazon SES

Cangze Huang Отправка электронных писем с Amazon Sesthe Comply AWS Web Boeterplate – Учебное пособие на 3 Табель содержимогоPart 0 : Введение в полную веб-код Web BoaterPartpart 1: аутентификация пользователя с AWS Cognito (3 частями) Часть 2: Сохранение затрат на хранение файлов с Amazon S3 (1 часть) Часть 3: Отправка электронных писем с Amazon SES

Kangze Huang

Полная веб-ботинка WebS – Учебник 3

Оглавление

Скачать github здесь Отказ

Настраивать

Отправка электронных писем с Amazon SES действительно простой. Давайте начнем с настройки. Перейдите в Amazon SES и нажмите Адреса электронной почты в боковой панели. Затем нажмите Проверьте новый адрес электронной почты И введите адрес электронной почты, который вы хотите использовать для обмена сообщениями в приложении.

Теперь перейдите к вашему поставщику электронной почты и нажмите на ссылку для проверки. После проверки вернитесь к Amazon SES Адреса электронной почты вкладка. Теперь вы должны увидеть ваш адрес электронной почты.

Это было необходимо для 2 причин. Во-первых, нам нужна электронная почта для отправки сообщения, а второй – потому что мы находимся в среде песочницы. Окружающая среда Sandbox означает, что вы можете отправлять только и получать электронные письма от проверенных адресов и предотвращают вас от Spamming людей. Это все настройки нам нужны для этой котельной.

Если вы хотите иметь возможность отправлять электронные письма на любой адрес электронной почты, вам нужно сделать письменный запрос на Amazon для выпускника из среды песочницы. Чтобы сделать это, перейдите в верхний правый угол в Поддержка & GT; Поддержка CEN территория

На этом следующем экране нажмите Создать корпус Отказ

Это простая форма, но мы кратко объясним. Выберите Предел обслуживания Увеличение и установить Тип премий к SES отправляет ограничения . Теперь создайте 2 запроса, один, где Ограничить это Желаемая дневная квота по отправке (Сколько электронных писем можно отправить за один день), а другой, где Ограничить это Желаемая максимальная скорость отправки Отказ Установите Новое предельное значение на сумму, которую вам нужно. Наконец, необязательно установить тип почты, поскольку он увеличивает свои шансы на утверждение. Используйте Transactional, если ваши электронные письма генерируются как запрос деятельности пользователя. Есть другие, доступные для других случаев использования.

Остальная часть запроса легко. Убедитесь, что вы соглашаетесь соблюдать Условия обслуживания, и у вас есть процесс для обработки Относки и жалобы (Когда пользователи отмечают ваше письмо как спам). Наконец, дайте краткое объяснение вашего случая использования.

Отправьте свой код, и вы должны получить электронное письмо от Amazon с результатами вашего запроса на повышение обслуживания. После утверждения ваше приложение может отправлять сообщения на любой адрес электронной почты.

Код

Мы готовы копаться в код! Перейти к Приложение/SRC/API/AWS/AWS_SES.JS где нажата на большую часть кода. Давайте посмотрим на главную функцию sendowsemail. () :

export function sendAWSEmail(email, message){ const ses = new AWS.SES({  region: 'us-east-1' }) const p = new Promise((res, rej)=>{  if(!email|| message){   rej('Missing user email or message content')  }else{   const params = createInquiryParamsConfig(email, message)   // console.log('Sending email with attached params!')   AWS.config.credentials.refresh(function(){    // console.log(AWS.config.credentials)    ses.sendEmail(params, function(err, data) {      if(err){        // console.log(err, err.stack); // an error occurred        rej(err)      }else{       // console.log(data);           // successful response     res('Success! Email sent')      }    })   })  } }) return p}

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

Предполагая, что у нас есть как реципиент, и сообщение, мы создадим Пармы Объект для AWS SES для чтения для всей необходимой информации и вариантов. Это Пармы Объект создан с createinquiryParamsconfig () Отказ Прежде чем мы погрузимся в эту яму кролика, давайте просто быстро закончим объяснение остальных sendowsemail () Отказ Мы обновляем учетные данные пользователя AWS Cognito (что мы установили с AWS Cognito, объясненным в моем Другое руководство ) и позвоните ses.sendemail. с Пармы и обратный вызов ответа прошел. Отклоните обещание, если есть ошибка, и разрешение с сообщением успеха, если нет ошибки. SES.SENDEMAIL Является ли единственная функция AWS, которую мы будем использовать, и все остальное нам нужно, определяется в параметры .

Теперь давайте посмотрим, как сделать Пармы с createinquiryParamsconfig () Отказ

function createInquiryParamsConfig(email, message){ const params = {   Destination: {      BccAddresses: [],     CcAddresses: [],     ToAddresses: [ email ]   },   Message: {      Body: {        Html: {         Data: generateHTMLInquiryEmail(landlordEmail, message),         Charset: 'UTF-8'       }     },     Subject: {        Data: 'Kangzeroos Boilerplate says hi ' + email,       Charset: 'UTF-8'     }   },   Source: 'yourApp@gmail.com',    ReplyToAddresses: [ 'yourApp@gmail.com' ],   ReturnPath: 'yourApp@gmail.com' } return params}

Довольно просто, мы проходим в Эл. адрес и сообщение и верните большой объект JavaScript. Все значения, которые вы видите здесь, необходимы, но вы также можете добавить тонну других дополнительных конфигураций. Функция, которую мы должны обратить внимание на generatehtmlinequiryemail () Отказ Давайте посмотрим на это.

function generateHTMLInquiryEmail(email, message){ return `  
                  title             

${message}

Send From:
${email}
`}

Все, что мы делаем здесь, создает HTML-файл и прохождение в Email и сообщение создать пользовательское электронное письмо. Мы используем строковые литералы ES6 для добавления в строковые переменные с помощью $ {} Нравится так:

$ {сообщение

} .

Вот и все! Вы можете использовать любой передний код код, который вы хотите, просто пропустите Эл. адрес и сообщение к sendowsemail () Отказ Просто помню sendowsemail. () Возвращает обещание, поэтому вам придется справиться с этим соответственно. Если вы не знаете, как обращаться с обещаниями, проверьте мой Другое руководство здесь Отказ

Увидимся в следующий раз!

Оглавление

Этот метод был частично использован в развертывании renthero.ca.

Оригинал: “https://www.freecodecamp.org/news/sending-emails-with-amazon-ses-7617e83327b6/”