![使用 cronjob 发送邮件后出现奇怪的电子邮件地址的失败通知](https://linux22.com/image/1435845/%E4%BD%BF%E7%94%A8%20cronjob%20%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%E5%90%8E%E5%87%BA%E7%8E%B0%E5%A5%87%E6%80%AA%E7%9A%84%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%9C%B0%E5%9D%80%E7%9A%84%E5%A4%B1%E8%B4%A5%E9%80%9A%E7%9F%A5.png)
对于我们的网站,我们每月都会向我们的会员发送更新。每个月都会运行一个 (php) cronjob 来实现这一点。昨天发生了一件奇怪的事情;我们收到了很多我们发送的邮件的失败通知。失败通知说我们的电子邮件无法发送到不在我们的邮件列表中的陌生电子邮件地址。所以显然我们的邮件被发送到了不应该收到电子邮件的随机(垃圾邮件?)电子邮件地址。
例子:
(我编辑了电子邮件地址和域名):
我们发送的邮件:
To: [email protected]
From: [email protected]
Subject: Your monthly statistics
Hello Sarah,
Here are your monthly statistics.
(…)
Kind regards,
Our Website
我们收到的失败通知:
Hi. This is the qmail-send program at vz79.shared.ourhost.net.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<[email protected]>:
173.194.65.27 does not like recipient.
Remote host said: 552-5.2.2 The email account that you tried to reach is over quota. Please direct
552-5.2.2 the recipient to
552 5.2.2 http://support.google.com/mail/bin/answer.py?answer=6558 fk8si4106867wib.66 - gsmtp
Giving up on 173.194.65.27.
<[email protected]>:
65.55.92.136 does not like recipient.
Remote host said: 550 Requested action not taken: mailbox unavailable
Giving up on 65.55.92.136.
<[email protected]>:
98.138.112.34 failed after I sent the message.
Remote host said: 554 delivery error: dd Sorry your message to [email protected] cannot be delivered. This account has been disabled or discontinued [#102]. - mta1216.mail.ne1.yahoo.com
--- Below this line is a copy of the message.
Return-Path: <[email protected]>
Received: (qmail 16588 invoked by uid 10063); 1 Jan 2015 20:05:02 +0100
To: [email protected]
Subject: Your monthly statistics
X-PHP-Originating-Script: 10063:class.phpmailer.php
Date: Thu, 1 Jan 2015 20:05:02 +0100
From: "OurWebsite.com" <[email protected]>
Reply-to: “OurWebsite.com” <[email protected]>
Message-ID: <[email protected]>
X-Priority: 3
X-Mailer: PHPMailer (phpmailer.codeworxtech.com) [version 2.2]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="iso-8859-1"
<html>
<body>
Hello Sarah,
Here are your monthly statistics.
(…)
Kind regards,
Our Website
</body>
</html>
在哪[电子邮件保护],[电子邮件保护]和[电子邮件保护]来自哪里?我们没有将它们添加到密件抄送中。这些是我们不知道的电子邮件地址。它们不在我们的系统或数据库中,但显然有什么东西将电子邮件发送到这些奇怪的电子邮件地址。我们收到的每条失败通知中都有不同的随机电子邮件收件人。
我们使用 PHPMailer [版本 2.2] 发送电子邮件
// PHPMAILER
$mail = new PHPMailer();
$mail->From = "[email protected]";
$mail->FromName = "OurWebsite.com";
$mail->AddAddress($to);
$mail->AddBCC("[email protected]);
$mail->AddReplyTo("[email protected]", "OurWebsite.com");
$mail->IsHTML(true);
$mail->Subject = "Your monthly statistics";
$mail->Body = $message;
$mail->Send()
以前有人遇到过类似的事情吗?我该如何找出原因?
**编辑:** 电子邮件地址是从 mysql 数据库加载的,并通过“foreach 循环”发送。我们在那里没有发现任何可疑的东西。我们发送的每封电子邮件也已发送到备份电子邮件地址([电子邮件保护]) 使用 BCC。在这个电子邮件帐户中,我们只找到正确的电子邮件,但我们看不到是否添加了 BCC。我们无法访问我们的服务器日志,因为它们超出了文件大小限制。
答案1
与我的托管服务提供商联系后解决了这个问题:
“这是我们邮件服务器的一个错误。邮件已发送,但服务器还添加了其他错误消息。此错误现已修复。”
我觉得有点奇怪,但显然这样的问题可能发生在邮件服务器上。
因此,对于遇到类似问题的人来说,要完全回答这个问题:
- 检查您的邮件日志。
- 检查恶意软件。
- 检查你的邮件脚本是否被更改。(参见上面 Ivan Viktorovic 的评论)
如果您没有发现任何可疑之处:请联系您的托管服务提供商。他们也许能够修复导致此问题发生的错误。