(Edit: This applies to much more than postfix; it's just where I noticed/debugged it)
I've installed postfix, but when it starts up and creates its chroot, it gets an empty copy of /etc/resolv.conf
which means it can't resolve any domains.
I added some logging in various network scripts to see when resolve.conf is being wiped/re-populated and when postfix is starting...
Here's the log from a boot:
Sun Mar 27 19:12:30 UTC 2016
EXECUTE: root + /sbin/resolvconf2 -d eth0 -f
Sun 27 Mar 19:12:31 UTC 2016
Postfix startup script
Sun Mar 27 19:12:37 UTC 2016
EXECUTE: root + /sbin/resolvconf2 -a eth0
Note there are 7 seconds between resolvconf being called to wipe the config and then re-populate it. For this period, /etc/resolv.conf is effectively empty. It's between these calls that postfix (and many other services) starts up.
It seems strange that services are being started in this huge gap between resolvconf being cleared/recreated.
This is a clean install of Raspbian with Postfix installed and no other changes.
EDIT: Looking in syslog, there are actually tons of things failing due to no DNS in the period between dhcpcd starting and finishing. Seems flawed that other services are trying to start concurrently?