间接 Postfix 退回邮件会创建新的用户目录

间接 Postfix 退回邮件会创建新的用户目录

我在数据中心的个人服务器上运行 Postfix。我既不是专业的邮件托管商,也不是 Postfix 专家,它只是用于该服务器提供的几个域。

IIRC,我主要关注本指南设置 Postfix 时。发往服务器管理的某个域的邮件将在本地 (/srv/mail) 发送,以便使用 Dovecot 获取。发往其他域的邮件需要使用 SMTPS。邮箱配置存储在 MySQL 中。

我遇到的问题是,我突然发现磁盘上正在创建新的邮箱。假设我有域名“example.com”。那么我会有很多新目录,例如
/srv/mail/example.com/abenaackart
/srv/mail/example.com/abenaacton
等。
我的数据库中没有这些地址的条目,无论是邮箱还是别名。

这显然是自动生成名称的垃圾邮件。大多数以“a”开头,少数以“b”开头,还有几个以其他字母开头的随机名称。起初我担心遭到攻击,但所有安全限制似乎都有效。如果我尝试向这些地址发送邮件,在“RCPT TO”阶段,我会收到“收件人地址被拒绝:虚拟邮箱表中的用户未知”的提示。

于是我查看了这些邮箱中存储的邮件。结果发现它们都是退回的。似乎它们都是随机生成的名称一个确实存在于我的系统上的别名,但指向另一台主机上的无效目标地址。因此 Postfix 接受了它,然后尝试将其重定向到另一台邮件服务器,但该服务器拒绝了它。这封邮件被退回到我的 Postfix 服务器,该服务器现在接收了退回邮件并将其存储在本地 — — 因为它似乎来自它管理的某个地址。

例子:

  1. 我的 Postfix 服务器处理 example.com 域。
  2. [电子邮件保护]配置为重定向至[电子邮件保护]
  3. [电子邮件保护]已从 Hotmail 服务器中删除。
  4. 垃圾邮件发送者发送带有以下信息的邮件:[电子邮件保护]并:[电子邮件保护]
  5. 我的 Postfix 服务器接受邮件并尝试将其转交给 hotmail.com。
  6. hotmail.com 发送退回邮件。
  7. 我的 Postfix 服务器接受退回邮件并将其发送至 /srv/mail/example.com/bob。

最后一步是我不想要的。我不太确定它应该做什么,但在我的磁盘上创建数百个新邮箱不是我想要的...

有什么想法可以摆脱这种行为吗?我很乐意发布部分配置,但目前我还不确定从哪里开始调试问题。


我的main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/pf.pem
smtpd_tls_key_file=/etc/ssl/private/pf.key
smtpd_tls_security_level=may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = <hostname removed>
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
relayhost =
mydestination = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, <server ip and some subnets removed>, 192.168.2.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

答案1

似乎您没有验证收件人是否是有效地址。请检查您是否正确配置了 local_recipient_maps。如果不是,请包含您的 main.cf 文件以供审核。

相关内容