SES错误:缺少最终的“@domain”

14

我正在使用Python库boto通过SES发送电子邮件。当我尝试发送给超过30个(但少于50个,因此未超出限制)收件人时,出现了错误:

  <Error>
    <Type>Sender</Type>
    <Code>InvalidParameterValue</Code>
    <Message>Missing final '@domain'</Message>
  </Error>

我的to_addresses是空列表,所有收件人都在bcc_addresses列表中。

这是什么意思?每个收件人的地址都有效,发件人地址已经验证并且有效。


10封邮件怎么样?与30封相比有什么区别吗? - BMW
1
您是否已经使用有效且授权的电子邮件地址设置了setFrom? - Abela
请确保检查包含在SES/SMTP调用中的所有电子邮件参数 - 在我的情况下,所有的发件人、收件人、抄送等都是正确的,但我有一个“回复地址”(由一些自定义逻辑插入),它不是一个有效的电子邮件地址 - 字面上是“缺少最后的@域名”。 - Janaka Bandara
4个回答

6
我曾遇到过这种错误,问题出在我的to_addresses邮件地址格式不正确。

我的“Return-Path”地址格式错误(同样的问题)。 - undefined
解决了我的问题,我在使用电子邮件地址时,不仅包含了域名,还包括了'no-reply@domain-name'或'admin@domain'。 - undefined

1

当我遇到这个错误时,我在Source中使用了一个格式不正确的电子邮件地址。


0

最近在编程中可能会遇到这样一个问题:当在句子末尾加上一个邮箱地址并以句号结尾时,像这样的消息内容(用文本/英语表示):

"将您的请求发送至user@domain.com。"

现在,SNS或一些消息处理器(在AWS上)似乎会处理看起来像域名的单词的文本内容。虽然上面的句子通过了语法检查,但似乎未通过有效域名的正则表达式检查,因为句号结尾可能会有后续字符。


您的答案可以通过添加更多支持信息来改进。请编辑以添加进一步的细节,如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0
如果你遇到这个问题,我最后需要更新源代码,并使用类似于 no-reply@YOUR_DOMAIN_NAME.com 的东西。
    import { SESClient, SendEmailCommand } from '@aws-sdk/client-ses';
    
      const command = new SendEmailCommand({
        Destination: {
          ToAddresses: ['SOME_EMAIL@test.com'],
        },
        Message: {
          Body: {
            Text: { Data: "Test" },
          },
    
          Subject: { Data: 'Subject name' },
        },
        Source: 'no-reply@YOUR_DOMAIN_NAME.com',
      });

await SES_CLEINT.send(command);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接