当前位置: 首页 > 知识库问答 >
问题:

不接收亚马逊SES反弹通知

尉迟彬
2023-03-14

我已经在我的服务器上配置了postfix,只发送@gmail。com邮件至亚马逊SES:

gmail.com          smtp:email-smtp.eu-west-1.amazonaws.com:25
*                  :

此外,我在AmazonSES控制台中配置了使用AmazonSNS接收邮件的反弹和投诉。问题是,如果我向一个不存在的gmail地址发送邮件,我不会收到回音。

如果从邮件发送邮件。谷歌。com到地址dsadaerwer。拉拉乐队很烂。贾斯汀是一个-beaver@gmail.com我收到:

Delivery to the following recipient failed permanently:
 dsadaerwer.lala-band-sucks.justin-is-a-beaver@gmail.com

但是如果从PHP脚本发送到相同的地址,postfix表示:

E4E1A9F9CE: to=<dsadaerwer.lala-band-sucks.justin-is-a-beaver@gmail.com>, relay=email-smtp.eu-west-1.amazonaws.com[54.72.42.170]:25, delay=21, delays=0.02/0.04/11/10, dsn=2.0.0, status=sent (250 Ok 00000146d86bcc13-9fa1ac16-b1cd-476e-8398-31f406d47961-000000)

所以亚马逊SES接受邮件,但我没有收到失败的通知。能有什么错?

笔记发送有效电子邮件时,一切正常。

此外,当从AWS SES控制台向发送测试邮件时bounce@simulator.amazonses.com,我会立即通过电子邮件收到通知,但会通过电子邮件smtp从PHP脚本发送到同一封电子邮件。欧盟-西方-1。亚马逊。com不会产生电子邮件通知。

共有1个答案

杨波娃
2023-03-14

我也面临同样的问题。在我的例子中,我使用的是PHPMailer库(https://github.com/PHPMailer/PHPMailer/)我通过指定消息的发送者解决了这个问题。

/**
 * The Sender email (Return-Path) of the message.
 * If not empty, will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
 * @type string
 */
public $Sender = '';

我将它设置为与$From相同的地址,现在我收到预期地址中的反弹。

这是我的工作代码:

$this->mail = new PHPMailer();
$this->mail->CharSet = 'utf-8';
$this->mail->From = $from_address;
$this->mail->Sender = $from_address;
$this->mail->FromName = $from_name;
$this->mail->Subject = $subject;
$this->mail->Body    = $body;
$this->mail->AltBody = $altBody;
$this->mail->addAddress($to_address, $to_name);
$this->mail->send()

如果您在PHPMailer中使用setfrom方法,它也会自动将发件人设置为相同的地址。

/**
 * Set the From and FromName properties.
 * @param string $address
 * @param string $name
 * @param boolean $auto Whether to also set the Sender address, defaults to true
 * @throws phpmailerException
 * @return boolean
 */
public function setFrom($address, $name = '', $auto = true)
 类似资料:
  • 当我在Amazon SNS上确认订阅时,出现以下错误: 检测到1个验证错误:“令牌”处的值null未能满足约束:成员不能为null(服务:AmazonS;状态代码:400;错误代码:ValidationError;请求ID:14f5c18d 如何解决这个问题?

  • 我试图通过AWS SES发送一封带有SMTP的电子邮件,我正在使用这个

  • 我正在尝试使用php中的amazon SES sendmail()函数在邮件中发送pdf附件。我写了一个函数,它以MIME类型作为内容并发送邮件。但我无法在邮件中发送附件。文件路径和所有其他值看起来都很完美。 功能代码如下: 邮件已成功发送给用户,但没有附件。请帮忙。

  • 我有一个Symfony2应用程序,需要使用AmazonSES发送邮件。我需要使用SMTP进行设置。由于某种原因,我的Symfony2应用程序自从我在实例上运行以来一直无法发送邮件。它在我的本地服务器上运行良好,使用gmail发送邮件,但在实时服务器上niether gmail不起作用。我的配置是: 我已经从SES控制台在线获取了SMTPHOST、SMTPUSER和SMTPPASS这三件东西。但邮件

  • 我在使用aws ses时遇到SignatureDesNotMatch错误。我使用GMT日期和HMAC SHA256的安全密钥创建签名密钥,然后将其转换为Base64。 签名=base64(HMAC SHA256(日期,安全密钥)); 网址:https://email.us-west-2.amazonaws.com?Action=SendEmail 输入标题为x-amz-date: Thu,30 J

  • 好的,我在 AWS 中创建一个实例,并遵循手册、视频等中的所有要点。但是我收到“无法连接到服务器,因为防火墙,关闭等” 我配置了以下内容: 实例: 私有IP OK 状态:正在运行 检查:一切正常 公共DNS:好的 公共ip:好的 弹性IP附加:好的 已连接网络接口(并且该网络具有安全组、ips等) 安全组(非默认): 入境的 类型协议端口范围源 RDP TCP 3389 0.0.0.0/0 固态混