1. Отслеживание электронной почты дает нам возможность строить и поддерживать отношения в этой чрезвычайно многолюдной, конкурентной среде входящих входящих средств и отслеживаемых электронных писем, это будет полезно для отслеживания нашего показателя отскока и контролировать наши будущие кампании, чтобы получить самый низкий уровень отскока и поставьте свои электронные письма.
2. Определение и причины отскок: отскок (или отскок электронная почта) относится к ситуации, когда ваша электронная почта отклоняется от почтового сервера вашего подписчика.
- Мягкий отскок: это временная проблема. Причины следующие:
- Почтовый ящик и/или ваш собственный почтовый ящик ваших получателей
- Ваше электронное сообщение слишком большое и слишком тяжелое
- Электронный сервер вашего получателя не работает или в автономном режиме
- Тайм -аут подключения произошел, когда Gmail попытался доставить вашу электронную почту
- Жесткий отскок: это постоянная проблема. Причины следующие:
- Адрес электронной почты ваших получателей больше не существует (больше).
- Доменов больше не существует (больше).
- Электронный сервер вашего получателя полностью заблокировал поставку электронной почты
Что в этом документе
- Настройка Amazon SES для отправки подробных уведомлений о ваших отходах, жалобах и доставке
- Создайте SNS для отправки сообщения в функцию Lambda
- Создайте функцию Lambda, которая хранит уведомление SES для DynamoDB
- Query Bounce Email С помощью AWS CLI
🚀 Настройка Amazon SES для отправки подробных уведомлений о ваших отходах, жалобах и доставке
🚀 Создайте SNS для отправки сообщения в функцию Lambda
🚀 Создайте функцию лямбда, которая хранит уведомление SES для DynamoDB
'use strict'; console.log('Loading function'); let doc = require('dynamodb-doc'); let dynamo = new doc.DynamoDB(); let tableName = 'ses-mailing'; exports.handler = (event, context, callback) => { //console.log('Received event:', JSON.stringify(event, null, 2)); const message = JSON.parse(event.Records[0].Sns.Message); var eventType = message.eventType; if (eventType == undefined) { eventType = message.notificationType; } switch(eventType) { case "Bounce": handleBounce(message); break; case "Complaint": handleComplaint(message); break; case "Send": handleDelivery(message); break; case "Delivery": handleDelivery(message); break; case "Open": handleOpen(message); break; default: callback("Unknown notification type: " + message.notificationType); } }; function handleBounce(message) { const messageId = message.mail.messageId; const addresses = message.bounce.bouncedRecipients.map(function(recipient){ return recipient.emailAddress; }); const bounceType = message.bounce.bounceType; console.log("Message " + messageId + " bounced when sending to " + addresses.join(", ") + ". Bounce type: " + bounceType); for (var i=0; i
Результат DDB — Ключ раздела | Сортировка ключа | Глобальные вторичные индексы
Query Bounce Email С помощью AWS CLI
1. Используйте запрос DynamoDB
aws --region=us-east-1 dynamodb query --select ALL_ATTRIBUTES --table-name ses-mailing --index-name eventType-timestamp-index --key-condition-expression "eventType = :e and #timestamp >= :t" --expression-attribute-names '{ "#timestamp": "timestamp"}' --expression-attribute-values '{":e":{"S":"Bounce"}, ":t": {"S": "2021-04-04"}}' > mail-bounce.json cat mail-bounce.json | jq -r '.Items[] | [.from.S, .UserId.S, .timestamp.S] | @csv ' > mail-bounce.csv
2. Используйте DynamoDB Exepute-Statement
aws dynamodb execute-statement --statement "SELECT * FROM \"ses-mailing\".\"eventType-timestamp-index\" WHERE \"eventType\" = 'Bounce' AND \"timestamp\" >= '2021-04-05'" --region us-east-1 > ses.json cat ses.json | jq -r '.Items[] | [([.UserId.S, .from.S, .timestamp.S] | join(","))] | @csv' | sort -r > bounce.list
Рефс
- Отправка электронной почты с использованием интерфейса Amazon SES SMTP с добавлением
Configuration_set
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-smtp.html
🌠 Блог · GitHub · Web · LinkedIn · Группа · Страница · Twitter 🌠
Оригинал: «https://dev.to/vumdao/ses-email-tracking-34»