On 31 Oct 2016, at 15:20, D'Arcy Cain wrote:

Is this expected behaviour?

Yes. This is what smtp_bind_address *IS*

From the postconf(5) man page:

smtp_bind_address (default: empty)
An optional numerical network address that the Postfix SMTP client
      should bind to when making an IPv4 connection.

Note the word "client" and the fact that this is a smtp_* setting, NOT a smtpd_* setting. These are strong hints that it only applies to the smtp program (the SMTP client, which sends mail) and NOT to the smtpd program, which is the SMTP daemon.


I set smtp_bind_address to our external interface to receive email

For symmetry perhaps there should be a smtpd_bind_address, but there is not. Instead there is inet_interfaces, which is (from the man page):

inet_interfaces (default: all)
The network interface addresses that this mail system receives mail on.

but I want to be able to send email internally. I do not need to receive on the the internal address.

When I send mail to our internal network I just get a "Connection timed out" error. I can't see the logic there. If the above command is meant to block all access, in and out, to an interface then at the very least it is misnamed. It is more than a binding address for SMTP.

It is not a binding address for Postfix's SMTP listener, it is a binding address for the smtp binary, which you can find at $daemon_directory/smtp (typically /usr/libexec/postfix/smtp) right next to the SMTP server, named smtpd.

Incidentally, there is also a "proxy_interfaces" setting that you'll want to set properly as well if any of your $inet_interfaces are behind NAT. RTFM.

Reply via email to