【问题标题】:Is it possible to send templated emails via SES whilst in sandbox mode/是否可以在沙盒模式下通过 SES 发送模板电子邮件/
【发布时间】:2019-05-01 20:04:30
【问题描述】:

我正在尝试通过 python lambda 函数测试通过 AWS SES 发送模板电子邮件。

该过程运行没有任何错误,并且在 Cloudwatch 日志中我确实收到一条消息,指出电子邮件已发送,但实际上并未收到电子邮件(发送和接收电子邮件地址均已验证)。

如果在没有模板的情况下运行相同的过程,则会收到电子邮件。

下面是代码

`   template_data = {}
    template_data['toBeReplaced'] = body

    # print(json.dumps(template_data))
    strTemplateData = json.dumps(template_data)
    print(strTemplateData)

    response = client.send_templated_email(
      Source=SENDER,
      Destination={
        'ToAddresses': emailAdds,
        'CcAddresses': ['XXXXXXXXXX.co.uk']
      },
      ReturnPath='xxxxxxxxxxxxxx.xo.uk',
      Template='emailTemplate3',
      TemplateData=strTemplateData     
    )`

【问题讨论】:

  • 你能分享一些代码+模板文件吗?你确定所有的模板值都被替换了吗?
  • @jogold 我已将代码添加到主帖中。我传入了一个变量,该变量构成了替换模板中“toBeReplaced”部分的测试。替换文本是一个 HTML 字符串。

标签: amazon-web-services amazon-ses


【解决方案1】:

您是否检查过渲染失败 CloudWatch 指标?如果模板(或您传递的值)有问题,您仍然会收到 200OK 和消息 ID,但电子邮件实际上被拒绝并且可以显示在渲染失败 CloudWatch 指标中。

您可以启用配置集并启用渲染失败的 SNS 通知,您将获得模板中出现问题的准确描述。

【讨论】:

  • 非常好,非常感谢。你是对的,这是模板的渲染。我在要更换的标签上弄错了。我已经放了 {{toBeReplaced}}。我应该输入<div>{{toBeReplaced}}</div> 非常感谢您为我指明了正确的方向。不会匆忙忘记这个:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
  • 2013-10-04
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
相关资源
最近更新 更多