переменная boto3 с точкой с запятой

#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(";")))