Я использую сервис простой электронной почты 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'])