Сбор метрик для каждого отдельного получателя в Amazon SES - PullRequest
0 голосов
/ 16 мая 2018

Я использую сервис простой электронной почты Amazon для отправки транзакционных электронных писем.Для этого я создал класс Python, который использует AWS SDK для Python, Boto3.

Один из параметров этого класса, получатели, представляет список получателей, которые будут получать электронные письма.Я создал набор конфигурации с помощью автоматической метки «ses: from-domain» и установил, что собранные метрики будут отправлены в службу CloudWatch.

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

Я хотел бы знать, как:

1.Использовать набор конфигурации для сбора показателей для каждого отдельного получателя (адрес электронной почты);2. Включите эту конфигурацию в метод, который я использую для отправки электронных писем, или HTML-код, который составляет электронную почту.Поскольку в настоящее время я использую функцию автоматической пометки, в моем коде требуется только configSetName.

Метод отправки электронных писем:

def send_email(self, subject, charset="UTF-8"):
        """
        """
        # Create a new SES resource and specify a region.
        client = boto3.client('ses',region_name=self._aws_region)

        # Try to send the email.
        try:
            #Provide the contents of the email.
            response = client.send_email(
                Destination={
                    'ToAddresses': self._recipient,
                },
                Message={
                    'Body': {
                        'Html': {
                            'Charset': charset,
                            'Data': self._html_content.getvalue(),
                        },
                    },
                    'Subject': {
                        'Charset': charset,
                        'Data': subject,
                    },
                },
                Source=self.sender,
                # If you are not using a configuration set, comment or delete the
                # following line
                ConfigurationSetName="test",
            )
        # Display an error if something goes wrong. 
        except ClientError as e:
            print(e.response['Error']['Message'])
        else:
            print("Email sent! Message ID:"),
            print(response['ResponseMetadata']['RequestId'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...