Postfix默默忽略收件人

我有一个奇怪的问题,其中一个电子邮件接收到我的邮件服务器运行与多个收件人在同一个域上的Postfix,只有一个收件人将收到消息。

来自已发送电子邮件的电子邮件标题(为了保护无辜而改变的地址)的示例:

From: Ryan Hood <[email protected]> To: Jeff Bridges <[email protected]> CC: 'Rhonda White' <[email protected]>, 'Joe' <[email protected]> 

在这种情况下朗达收到电子邮件,但其他收件人都没有。 在我的边缘服务器(服务器接受来自互联网的邮件)的日志中,我看到:

 Jan 9 14:31:58 edge postfix/smtpd[1470]: 60C31CF435: client=smtp629.remoteserver.net[xxxx] Jan 9 14:31:58 edge postfix/cleanup[6125]: 60C31CF435: message-id=<BLUPR08MB0085EF631200B8DBC8951C7A5440@BLUPR08MB008.namprd08.prod.outlook.com> Jan 9 14:31:58 edge postfix/qmgr[3170]: 60C31CF435: from=<[email protected]>, size=279996, nrcpt=2 (queue active) Jan 9 14:31:58 edge postfix/smtp[7186]: 60C31CF435: to=<[email protected]>, relay=mail-store01.domain.int[10.101.2.6]:25, delay=0.51, delays=0.45/0/0.04/0.02, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as BFE4D7F9F6) Jan 9 14:31:58 edge postfix/smtp[7186]: 60C31CF435: to=<[email protected]>, relay=mail-store01.domain.int[10.101.2.6]:25, delay=0.51, delays=0.45/0/0.04/0.02, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as BFE4D7F9F6) Jan 9 14:31:58 edge postfix/qmgr[3170]: 60C31CF435: removed 

邮件被发送到我们的邮件存储(也运行postfix),但只有两个收件人([email protected][email protected],用于存档电子邮件)。 没有列出其他收件人。

我们的邮件存储日志也不显示它们。

 Jan 9 14:40:48 mail-store01 postfix/smtpd[24566]: BFE4D7F9F6: client=edge.domain.int[10.101.2.2] Jan 9 14:40:48 mail-store01 postfix/cleanup[24551]: BFE4D7F9F6: message-id=<BLUPR08MB0085EF631200B8DBC8951C7A5440@BLUPR08MB008.namprd08.prod.outlook.com> Jan 9 14:40:48 mail-store01 postfix/smtpd[24566]: disconnect from edge.domain.int[10.101.2.2] Jan 9 14:40:48 mail-store01 postfix/qmgr[1441]: BFE4D7F9F6: from=<[email protected]>, size=280277, nrcpt=2 (queue active) Jan 9 14:40:48 mail-store01 dovecot: lda([email protected]): sieve: msgid=<BLUPR08MB0085EF631200B8DBC8951C7A5440@BLUPR08MB008.namprd08.prod.outlook.com>: stored mail into mailbox 'INBOX' Jan 9 14:40:48 mail-store01 postfix/pipe[24365]: BFE4D7F9F6: to=<[email protected]>, relay=dovecot, delay=0.07, delays=0.02/0/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service) Jan 9 14:40:48 mail-store01 dovecot: lda([email protected]): sieve: msgid=<BLUPR08MB0085EF631200B8DBC8951C7A5440@BLUPR08MB008.namprd08.prod.outlook.com>: stored mail into mailbox 'INBOX.2015.01.09' Jan 9 14:40:48 mail-store01 postfix/pipe[24371]: BFE4D7F9F6: to=<[email protected]>, relay=dovecot, delay=0.13, delays=0.02/0/0/0.11, dsn=2.0.0, status=sent (delivered via dovecot service) Jan 9 14:40:48 mail-store01 postfix/qmgr[1441]: BFE4D7F9F6: removed 

奇怪的是这种情况极less发生。 我有足够的邮件从这个外部电子邮件地址以及其他地址正确传送给这些收件人。 我不知道为什么有时会发生这种情况。

服务器详情:

  • Ubuntu 12.04
  • Postfix 2.9.6-1〜12.04.1

如果有帮助,这是我的边缘服务器上的main.cf。

 # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname 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 # enable soft bounces for now #soft_bounce = yes # TLS parameters #smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt #smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/mail.example.com.crt smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key smtpd_use_tls=yes 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 = edge.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = edge.example.com, edge, localhost.localdomain, localhost relay_domains = /etc/postfix/domains, /etc/postfix/configs/mail-store01/domains relayhost = mail-gateway01.example.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = /usr/bin/procmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all home_mailbox = Maildir/ smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_path = smtpd broken_sasl_auth_clients = yes #smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031 smtpd_recipient_restrictions = permit_sasl_authenticated check_recipient_access hash:/etc/postfix/clients, hash:/etc/postfix/configs/mail-store01/clients permit_mynetworks reject_unauth_destination #smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031 smtpd_end_of_data_restrictions = 

让我知道是否有额外的信息,有人可能会find帮助解决这个问题。

在这里我给你一个事实: 收件人在标题部分无关电子邮件传送系统

Postfix和其他使用信封收件人的MTA通过互联网路由电子邮件。 当然,你可以欺骗标题,所以看起来像你发送给一个收件人,但实际上在你发送给成千上万的收件人(如垃圾邮件发送者:)的信封)。

但为什么会发生? 那么问题不在于你的服务器。 Postfix永远不会在日志中告诉你,而是悄悄地丢弃消息。 即使你丢弃了这个信息,maillog也有所有关于它的故事

1月22日07:24:34 mailx postfix-2nd / smtpd [15167]:NOQUEUE:discard:来自未知的RCPT [192.168.235.100]::收件人地址触发DISCARD操作; 从=到=原型= ESMTP helo =

要进一步排除故障,您需要与电子邮件来自的服务器的pipe理员交谈。 如果发件人服务器不发送它,那么你的服务器也不会收到它。