Postfix 使用接口别名而不是主接口

Postfix 使用接口别名而不是主接口

使用 /usr/sbin/sendmail 发送电子邮件时(例如,使用脚本),Postfix 导致使用主机的接口别名之一发送邮件(eth0:0, 74.50.122.55)而不是使用主接口(eth0,66.232.99.54)...

[root@www ~]# cat test.msg 
To: [email protected]
Subject: This is a bogus e-mail

This is a bogus e-mail.
[root@www ~]# sendmail -t -i < test.msg

电子邮件标题的结果如下:

Return-Path: <[email protected]>
Received: from www.rocket-powered.com ([74.50.122.55])
        by mx.google.com with ESMTPS id c4si14411712yhe.53.2013.04.13.11.39.16
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Sat, 13 Apr 2013 11:39:16 -0700 (PDT)
Received-SPF: fail (google.com: domain of [email protected] does not designate 74.50.122.55 as permitted sender) client-ip=74.50.122.55;
Authentication-Results: mx.google.com;
       spf=hardfail (google.com: domain of [email protected] does not designate 74.50.122.55 as permitted sender) [email protected]
Received: by www.rocket-powered.com (Postfix, from userid 0)
    id CA46D39412D; Sat, 13 Apr 2013 18:32:14 +0000 (UTC)
From: [email protected]
To: [email protected]
Subject: This is a bogus e-mail

为什么 Postfix 使用接口别名(eth0:0, 74.50.122.55而不是使用主界面(eth0,66.232.99.54

FWIW:通过 SMTP 提交发送的电子邮件通常使用主接口(eth0,66.232.99.54)。例如,

Return-Path: <[email protected]>
Received: from www.rocket-powered.com (rocket-powered.com. [66.232.99.54])
        by mx.google.com with ESMTPS id s61si9056793yhd.296.2013.04.13.17.28.36
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Sat, 13 Apr 2013 17:28:36 -0700 (PDT)
Received-SPF: pass (google.com: domain of [email protected] designates 66.232.99.54 as permitted sender) client-ip=66.232.99.54;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of [email protected] designates 66.232.99.54 as permitted sender) [email protected]
Received: from www.rocket-powered.com (localhost [IPv6:::1])
    by www.rocket-powered.com (Postfix) with ESMTPA id 979D23940F7
    for <[email protected]>; Sun, 14 Apr 2013 00:21:33 +0000 (UTC)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws;
  s=default; d=rocket-powered.com;
  b=Y5YVbjb5mXPJgyDkMjXdanWRCM4gdEjIdbgouOpDJ6hEAObGcaokpiidfhc29lvBezLyZL06++gL1oyd+bjrywd1I9sqlB0i5Tfjig2ufKLEizcSeyTkDWjm/jKP6TIy;
  h=Date:To:From:Reply-To:Subject:Message-ID:X-Priority:X-Mailer:MIME-Version:Content-Type;
Date: Sun, 14 Apr 2013 00:21:33 +0000
To: Fred Flintstone <[email protected]>
From: "Rocket-Powered.com" <[email protected]>
Reply-To: "Rocket-Powered.com" <[email protected]>
Subject: Welcome

答案1

你需要设置inet_interfaces到您希望 Postfix 使用的接口的地址或相应的主机名。根据您希望 Postfix 通过哪些接口(IP 地址)接收邮件,您可能只想在 master.cf 中为 SMTP 客户端服务设置此选项。我喜欢确保myhostname设置正确,然后用它来设置inet_interfaces

smtp      unix  -       -       n       -       -       smtp
  -o inet_interfaces=$myhostname

请注意,SMTP 客户端服务和 SMTP 服务器守护程序之间的区别master.cf很微妙;后者已smtpd结尾的线。

相关内容