#python-3.x #amazon-web-services #aws-lambda #boto3
#python-3.x #amazon-веб-сервисы #aws-лямбда #boto3
Вопрос:
У меня есть скрипт boto3, который отправляет электронные письма пользователям. Пожалуйста, найдите пример, как показано ниже:
**Variable1 = test1@gmail.com;test2@gmail.com**
**Variable2 = source@gmail.com**
**Variable3 = destination@gmail.com**
**response = ses.send_email(Source=[ Variable2 ], Destination={'ToAddresses': [ Variable1 ],'BccAddresses': [ Variable3 ]}, Message = message)**
«Сообщение об ошибке»: «Произошла ошибка (InvalidParameterValue) при вызове операции отправки электронной почты: недопустимая точка с запятой, не в группе»
Переменная 1 — это тег электронной почты из экземпляров, и иногда несколько электронных писем разделяются точкой с запятой.
Комментарии:
1. Разделить строку, разделенную точкой с запятой, на список адресов …?! Вместо того, чтобы передавать список с одной строкой, содержащей адреса, разделенные точкой с запятой, как
ToAddresses
…?!2. Я попробовал разделить, в одном тестовом примере, когда есть только 1 адрес электронной почты, заканчивающийся точкой с запятой (test1@gmail.com ;), он выдал ошибку для второго пустого адреса электронной почты. прямо сейчас я бегу, выбирая только 1-й адрес электронной почты, например Variable1 [0]
3. Если у вас есть одиночные адреса, заканчивающиеся точкой с запятой, вам необходимо рассмотреть этот случай, очевидно. Например,
trim
точки с запятой с конца, затем разделить. Или разделить, затем отфильтровать пустые строки из списка.
Ответ №1:
Вы можете разделить и отфильтровать действительные адреса электронной почты следующим образом:
email_ids = list(filter(None, email_ids.split(";")))