【问题标题】:boto3 variable with semicolon带分号的 boto3 变量
【发布时间】:2021-04-01 03:41:12
【问题描述】:

我有向用户发送电子邮件的 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)**

"errorMessage": "调用SendEmail操作时发生错误(InvalidParameterValue):分号非法,不在组内"

Variable1 是来自 Instances 的电子邮件标签,有时会有多个电子邮件用分号分隔。

【问题讨论】:

  • 将分号分隔的字符串分割成一个list地址...?!而不是传递一个包含分号分隔地址的字符串的列表作为ToAddresses…?!
  • 我尝试拆分,在一个测试用例中,当只有 1 个以分号结尾的电子邮件地址 (test1@gmail.com;) 时,第二个空白电子邮件地址出错。现在我只选择第一个电子邮件地址,如 Variable1[0]
  • 如果您有以分号结尾的单个地址,您显然需要考虑这种情况。例如,trim 分号结束,then 拆分。或者拆分,然后从列表中过滤掉空字符串。

标签: python-3.x amazon-web-services aws-lambda boto3


【解决方案1】:

您可以像这样拆分和过滤掉有效的电子邮件地址:

email_ids = list(filter(None, email_ids.split(";")))

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2022-01-20
    • 2022-11-16
    • 2022-07-14
    • 2016-09-27
    • 1970-01-01
    相关资源
    最近更新 更多