首页 > 解决方案 > 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?

标签: marklogicamazon-sesmarklogic-9

解决方案


未验证 FROM 或 SENDER 电子邮件标头时会发生此错误。身份验证是第一步,但不会绕过发件人/发件人检查。首先在其他工具中验证是否为同一电子邮件地址正确配置了 SES。您可能需要尝试使用 smtp 中继或一些类似的低级工具来调试它。xdmp:email 的设置包括“发件人”但不包括“发件人”(通常称为“信封发件人”)——这两个都需要验证 SES 电子邮件地址。

一种解决方法是使用诸如 postfix 之类的东西来配置本地 smtp 代理,可以将其配置为正确使用 SES,并且具有良好的 smtp 假脱机处理的好处,用于处理超出 xdmp:email 能力的重试/错误和间歇性负载问题。


推荐阅读