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.