Рубрики
Uncategorized

SES Электронная почта отслеживает

1. Отслеживание электронной почты дает нам возможность строить и поддерживать отношения в этом превышении … Tagged с AWS, DevOps, Cloudopz, SES.

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

Рефс

🌠 Блог · GitHub · Web · LinkedIn · Группа · Страница · Twitter 🌠

Оригинал: «https://dev.to/vumdao/ses-email-tracking-34»