为啥显示“邮件发送成功”后,对方却没有收到?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥显示“邮件发送成功”后,对方却没有收到?相关的知识,希望对你有一定的参考价值。
参考技术A 可能有段时间的延迟。过段时间再看。 而且“邮件发送成功”是指发出去了。并不是对方接受了。也许对方服务器会把这个邮件退回也说不定呢 参考技术B 回答你好,可能是以下几种情况:1. 垃圾邮件:如果你发送的邮件内容或主题被服务器判断为垃圾邮件,那么你的邮件就可能被对方服务器接收后,又进行垃圾过滤,过滤掉。解决办法:爱博邮件群发系统模拟人工的邮件群发,基本不进垃圾邮件,被判断进去垃圾,基本可以通过修改邮件内容和主题来解决这个问题。2. 防火墙问题:如果你的计算机上安装了邮件防火墙(比如:瑞星邮件监控,金山毒霸邮件防火墙,诺顿邮件防火墙),这些都会造成显示成功,而收不到。因为,这些防火墙把邮件从中途接收或过滤了。解决办法:禁用邮件发送监控(以瑞星杀毒软件为例)* 此问题主要由瑞星杀毒软件引起,所以在此说明瑞星设置方法,打开瑞星杀毒软件,进入“安全中心”页,禁用“邮件发送监控”。如果不想每次开机都手动禁用,可以打开瑞星菜单“设置”中的“详细设置”,到“瑞星监控中心”,里边,取消“启用邮件监控”前边的勾。图三是瑞星2008的关闭方法。希望我的回答对您有帮助,望采纳,谢谢
参考技术C 那是对方邮箱的问题或者是对方服务器的问题 或者是网络运营商的问题PHPMailer 电子邮件发送成功但未收到 (EC2)
【中文标题】PHPMailer 电子邮件发送成功但未收到 (EC2)【英文标题】:PHPMailer email sent successfully but not received (EC2) 【发布时间】:2017-08-25 07:50:10 【问题描述】:我在 EC2 上使用 PHPMailer。我的帐户不在沙盒中,我从经过验证的电子邮件发送。我没有从 PHPMailer 收到任何错误,这就是我的日志
2017-03-31 06:24:52 Connection: opening to email-smtp.us-west-2.amazonaws.com:587, timeout=300, options=array ( )
2017-03-31 06:24:52 Connection: opened
2017-03-31 06:24:53 SERVER -> CLIENT: 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-2007935443 svKFRJ5M6s1rqbMTRdZu
2017-03-31 06:24:53 CLIENT -> SERVER: EHLO ***.domain
2017-03-31 06:24:53 SERVER -> CLIENT: 250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-STARTTLS 250-AUTH PLAIN LOGIN 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: STARTTLS
2017-03-31 06:24:53 SERVER -> CLIENT: 220 Ready to start TLS
2017-03-31 06:24:53 CLIENT -> SERVER: EHLO ***.domain
2017-03-31 06:24:53 SERVER -> CLIENT: 250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-STARTTLS 250-AUTH PLAIN LOGIN 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: AUTH LOGIN
2017-03-31 06:24:53 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2017-03-31 06:24:53 CLIENT -> SERVER: xxx=
2017-03-31 06:24:53 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2017-03-31 06:24:53 CLIENT -> SERVER: xxx=
2017-03-31 06:24:53 SERVER -> CLIENT: 235 Authentication successful.
2017-03-31 06:24:53 CLIENT -> SERVER: MAIL FROM:
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: RCPT TO:
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: DATA
2017-03-31 06:24:53 SERVER -> CLIENT: 354 End data with .
2017-03-31 06:24:53 CLIENT -> SERVER: Date: Fri, 31 Mar 2017 06:24:52 +0000
2017-03-31 06:24:53 CLIENT -> SERVER: To: NG
2017-03-31 06:24:53 CLIENT -> SERVER: From: Me
2017-03-31 06:24:53 CLIENT -> SERVER: Subject: New User Added
2017-03-31 06:24:53 CLIENT -> SERVER: Message-ID: <8ada86808c4dc38c21d7ff5d64051951@***.domain>
2017-03-31 06:24:53 CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.21 (https://github.com/PHPMailer/PHPMailer)
2017-03-31 06:24:53 CLIENT -> SERVER: MIME-Version: 1.0
2017-03-31 06:24:53 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2017-03-31 06:24:53 CLIENT -> SERVER:
2017-03-31 06:24:53 CLIENT -> SERVER: 123
2017-03-31 06:24:53 CLIENT -> SERVER:
2017-03-31 06:24:53 CLIENT -> SERVER: .
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok 0101015b2309bfbe-39a8cf31-ad57-4998-832d-94312b7ddfad-000000
2017-03-31 06:24:53 CLIENT -> SERVER: QUIT
2017-03-31 06:24:53 SERVER -> CLIENT: 221 Bye
2017-03-31 06:24:53 Connection: closed
这是我的 PHPMailer 设置
$this->SMTPDebug = 3;
$this->Host = 'email-smtp.us-west-2.amazonaws.com';
$this->Username = '***';
$this->Password = '***';
$this->SMTPAuth = true;
$this->SMTPSecure = 'tls';
$this->Port = 587;
$this->isHTML(true);
$this->isSMTP();
$this->From = '***';
$this->FromName = '***';
$this->ReturnPath = '***';
我尝试将其发送到不同的电子邮件,但仍然无法正常工作。这是发送的实际代码
$mailer = new Mailer($API);
$mailer->Subject = 'New User Added';
$mailer->Body = '123';
$mailer->addAddress('***', '***');
if (!$mailer->send())
throw new Exception($mailer->ErrorInfo);
else
print_r('Sent');
【问题讨论】:
您收到了哪种类型的delivery notification 消息,它说了什么? AWS EC2 email sending limit when using third party smtp server的可能重复 @sqlbot 我只从 PHP 得到这个日志。没有收到任何其他通知。 @Putnik “如果您没有连接到端口 25 上的第 3 方服务器,那么绝对没有限制。”我只连接 587 PHPMailer的参与在提交成功后结束。您遇到的任何其他问题与您的代码无关。我从您的问题中删除了您的密码 - 您可能想要更改它。 【参考方案1】:我遇到了同样的问题,当我设置 $mail->Username = 'xx@xx.xx'; 时它消失了到与 $mail->setFrom('xx@xx.xx') 中相同的地址
【讨论】:
【参考方案2】:对我来说,问题是因为我还没有收到来自这个地址的邮件,所以所有邮件都在垃圾邮件文件夹中
【讨论】:
【参考方案3】:我建议您转到https://www.mail-tester.com/,然后复制您看到的电子邮件地址。更新您的代码,然后使用 PHPMailer 向您复制的地址发送电子邮件。假设您的代码确实发送了电子邮件,并且看起来您的代码是正确的,那么 Mail Tester 将向您显示您的电子邮件存在哪些问题。
【讨论】:
非常感谢 - 这个网站帮助我发现了 SPF 记录问题。 这真的很有帮助,因为它都属于垃圾邮件文件夹以上是关于为啥显示“邮件发送成功”后,对方却没有收到?的主要内容,如果未能解决你的问题,请参考以下文章
Python邮件发送。为啥我用smtp发送邮件,发送成功没有报错,却没有收到邮件?求解