Article ID: 766, created on Jun 10, 2011, last review on Aug 19, 2016

  • Applies to:
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

解决方案

首选请检查所有域名是否将 "发送给不存在用户的邮件" 选项设置为 "拒绝" 或不设置为 "转发"。您可以在控制面板中的“域名”标签上使用"群组操作" 为所有的域名更改此设置。

自 Plesk 7.5.3 版本起即有选项“拒绝发送给不存在用户的邮件”。

而且检查白名单中的所有 IP 地址和网络是否可靠且熟悉。

检查队列中有多少信息(通过 qmail 收发):

# /var/qmail/bin/qmail-qstat
队列中的信息27645
队列中还未预处理的信息:82

如果队列中太多信息,请尝试调查垃圾信息源。

如果邮件发自授权用户而不是 PHP 脚本,您可以运行下面的命令查找哪个用户发送了最多信息(自 Plesk 8.x 版本起即可进行此查询)。请注意您必须在服务器上激活了 "SMTP 验证" 才能看到这些记录:

# cat /usr/local/psa/var/log/maillog |grep -I smtp_auth |grep -I user |awk '{print $11}' |sort |uniq -c |sort -n

进入 "maillog" 的路径可能会因为使用的操作系统的不同而有所不同。

下一步是使用qmail-qread,可通过它读取消息头:

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 <user@domain.com> bouncing
done remote user1@domain1.com
done remote user2@domain2.com
done remote user3@domain3.com
....

这显示了信息的发件人和收件人。如果一个信息包含很多收件人,很有可能是垃圾信息。现在,请尝试使用其 ID(在我们的示例中是 #2996948 )在队列中找到该信息:

# find /var/qmail/queue/mess/ -name 2996948

检查信息并查找 "Received" 行确定该信息一开始发自哪里以及以何方式发送。例如,如果您找到以下信息...

Received: (qmail 19514 invoked by uid 10003); 13 Sep 2005 17:48:22 +0700

... 这表示信息是 UID 10003 的一个用户通过 CGI 脚本发送的。使用该 UID,可以找到该域名:

# grep 10003 /etc/passwd

如果 "Received" 行包含用户 "apache" 的一个 UID(例如,由 UID 48 调用),则表示垃圾信息是通过 PHP 脚本发送的。针对此种情况,您可以使用垃圾邮件中的信息(发自/发到的地址或任何其它信息)找到垃圾信息发送者。

一般很难找到垃圾信息源。如果您已完全确定有一个脚本正在发送垃圾信息(信息队列无缘无故增长迅速),您则可以使用以下脚本进一步确定当前正在运行哪个 PHP 脚本:

# lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ' { if(!str) { str=$1 } else { str=str","$1}}END{print str}'` | grep vhosts | grep php

您还可以尝试 调查哪个域名正在通过 PHP 脚本发送邮件的流程 知识库文章的解决方案。

"Received" 部分各行信息如下...

Received: (qmail 19622 invoked from network); 13 Sep 2005 17:52:36 +0700
Received: from external_domain.com (192.168.0.1)

... 表示信息已接受并通过 SMTP 交付,且发件人是授权的邮件用户。

重要:了解如何重新创建 qmail 中的队列

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 aea4cd7bfd353ad7a1341a257ad4724a 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 caea8340e2d186a540518d08602aa065 e0aff7830fa22f92062ee4db78133079

Email subscription for changes to this article