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
|
Все, что мы делаем здесь, создает HTML-файл и прохождение в Email и сообщение создать пользовательское электронное письмо. Мы используем строковые литералы ES6 для добавления в строковые переменные с помощью $ {} Нравится так: } . $ {сообщение
Вот и все! Вы можете использовать любой передний код код, который вы хотите, просто пропустите Эл. адрес и сообщение к sendowsemail () Отказ Просто помню sendowsemail. () Возвращает обещание, поэтому вам придется справиться с этим соответственно. Если вы не знаете, как обращаться с обещаниями, проверьте мой Другое руководство здесь Отказ
Увидимся в следующий раз!
Оглавление
Этот метод был частично использован в развертывании renthero.ca.
Оригинал: “https://www.freecodecamp.org/news/sending-emails-with-amazon-ses-7617e83327b6/”