marklogic - xdmp:email 和 AWS SES
问题描述
我正在尝试使用 AWS SES 使用“xdmp:email”命令从 MarkLogic 发送电子邮件,但我不断收到“地址未验证”错误。我已经尝试在每个可能的电子邮件字段(回复、发件人、发件人等)中提供经过验证的电子邮件地址,但我还没有找到解决这个特定错误的方法,只需使用 xdmp:email。值得注意的是,如果我在“发件人”字段中输入未经验证的电子邮件地址,例如,两个未经验证的电子邮件地址都会出现在错误消息中。这告诉我 1) 我已经在 xdmp:email 中正确输入了回复、发件人等地址,并且 2) AWS 正在记录这些地址,如果经过验证,就会让它通过。问题是我真的无法控制这个电子邮件地址。错误是:
Error sending mail: : 554 Message rejected: Email address is not verified.
The following identities failed the check in region US-EAST-1: daemon@ip-10-62-92-128.ec2.internal
我在选项中输入凭据。总而言之,我相当有信心其他一切都正确完成。例如,在我输入凭据之前,我收到了授权错误。在我验证了实际的 TO 地址之前,我收到了这些地址未正确验证的错误。我已经能够解决这些错误。此电子邮件代码的大部分在 AWS 之外完全运行,所以我并不太担心代码存在一些基本问题。
FWIW,我们请求了一个“付费”SES 帐户,因此我们不再在“沙盒”中工作。我们已删除并重新创建了 SMTP IAM 用户。谷歌搜索建议升级应该已经充分解决了这个问题,用户问题是第二个想法,所以坦率地说,我不清楚这是否也是 AWS 问题。不管这些 AWS 特定的问题如何,在我看来,我应该能够通过 SES 沙箱相对轻松地从 MarkLogic 发送电子邮件,而不必立即升级到付费帐户。
有什么我想念的吗?我非常想错过一些简单的东西。有没有办法不让 ML 将此虚拟电子邮件地址附加到消息中?有没有办法验证这个虚拟电子邮件地址,以便在服务扩展时它是可扩展的?验证域的通用解决方案对我来说不是一件简单的事情吗?我是否应该考虑使用 postfix 或其他东西设置 localhost SMTP 中继(当然,谁知道这是否真的可以解决这个问题)?其他人如何在 AWS 中同时使用 MarkLogic 和 SES?
解决方案
未验证 FROM 或 SENDER 电子邮件标头时会发生此错误。身份验证是第一步,但不会绕过发件人/发件人检查。首先在其他工具中验证是否为同一电子邮件地址正确配置了 SES。您可能需要尝试使用 smtp 中继或一些类似的低级工具来调试它。xdmp:email 的设置包括“发件人”但不包括“发件人”(通常称为“信封发件人”)——这两个都需要验证 SES 电子邮件地址。
一种解决方法是使用诸如 postfix 之类的东西来配置本地 smtp 代理,可以将其配置为正确使用 SES,并且具有良好的 smtp 假脱机处理的好处,用于处理超出 xdmp:email 能力的重试/错误和间歇性负载问题。
推荐阅读
- macos - 为 Bazel 构建设置 MacOS 目标版本
- image - Flutter:在图像包中,如何将从 copyCrop() 返回的裁剪图像保存到路径?
- java - SonarQUBE 和 compareTo 日期
- c# - 如何通过坐标更改导入的 STL 文件的位置
- javascript - 无法从 ibm-watson IamTokenManager 获取身份验证令牌
- odoo - 如何在 Odoo14 中存储登录用户
- python - 我的 tensorflow 没有检测到我的 gpu 并使用我的 cpu(机器学习)
- xapi - 如何将包含一些交互的 xAPI 语句写入问题页面
- c# - 如何在参数化查询中传递模式名称
- karate - 空手道 API:在 Json 有效负载空手道 API 中将数字舍入到小数点后 2 位