Wietse Venema via Postfix-users: > Emmett Culley via Postfix-users: > > I have a long time running Postfix server (version 2.10) where I need to > > send from specific IP addresses for some virtual domains. > > > > I have it working, sort of. If I send email from this server to another > > server running postfix, it all seems to work. The sent email shows the > > transport required IP address in the header and all is well. DMARC, SPF > > and DKIM all pass. > > > > However, most times I send an email from that server to any gmail account, > > that email is bounced with the following error from gmail: > > > > > > The IP address sending this message does not have > > a PTR 550-5.7.25 record setup, or the corresponding forward DNS entry > > does > > not point 550-5.7.25 to the sending IP. As a policy, Gmail does not > > accept > > messages from 550-5.7.25 IPs with missing PTR records. For more > > information, go to 550 5.7.25 > > > > The email is sometime accepted, but put in the SPAM folder. When I look at > > the headers for the email sent to SPAM I see that it is not sent from the > > specified IP address. When checking the headers in the email that was > > successfully received by my other postfix server I see that that email is > > sent from the specified IP address, which is why it passes SFP and FQDN. > > > > Before I set up the transports to specify different IP addresses for some > > domains this was all working. The problem I am attempting to fix it that > > one of the domains sends out an opt-in newsletter three or four times a > > month, and so sometimes causes it's IP address to be placed on one or more > > RBLs. Of course when that happens all of the other email domains sending > > on that IP address fail spam checks. So we want to send the newsletters > > from their own IP address. > > > > In main.cf: > > > > myhostname = animalshelter.tld > > mydomain = animalshelter.tld > > mydestination = localhost, ###.##.##.40, ###.##.##.38 > > > > sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport > > Note that this mapping is based on the envelope.from address, not > based on header.from. > > > In sender_transport: > > > > @newsletterdomain.tld domain_hm > > @animalshelter.tld domain_vo > > @dogtrainer.tld domain_vo > > > > In master.cf: > > > > domain_hm unix - - n - - smtp > > -o syslog_name=postfix-HM > > -o smtp_helo_name=newsletterdomain.tld > > -o smtp_bind_address=###.##.##.38 > > > > ###.##.##.38:smtp inet n - n - - smtpd > > -o smtpd_sasl_auth_enable=no > > -o content_filter=amavisfeed:[127.0.0.1]:10040 > > > > domain_vo unix - - n - - smtp > > -o syslog_name=postfix-VO > > -o smtp_helo_name=animalshelter.tld > > -o smtp_bind_address=###.##.##.40 > > > > ###.##.##.40:smtp inet n - n - - smtpd > > -o smtpd_sasl_auth_enable=no > > -o content_filter=amavisfeed:[127.0.0.1]:10040 > > > > I ran postmap sender_transport and restarted postfix. > > > > Note that when sending to my other postfix server I see "postfix-HM" in the > > this server's log, and when sending to gmail "postfix-HM" is not there. > > > > Sending from any of the other domain on that server to gmail seems to work > > OK. However, they all send from the animalshelter.tld host which is at > > ###.##.##.40, and that is that is the IP address that shows up in the > > received header as the sending IP address. > > > > I've been beating my head against this wall for a while. There is clearly > > something I am not understanding. Any help would be appreciated. > > > > TL;DR > > > > Why is mail received by gmail different than those received by Postfix. > > First, verify that your sender_dependent_default_transport_maps is not > pre-empted by a higer-precedence mechanism: > > * In order of decreasing precedence, the delivery transport is > taken from 1) $transport_maps, 2) $sender_dependent_default_transport_maps, > or $default_transport. > > Then, the clue is in the from=<envelope.from> that Postfix logs for > those messages. The envelope.from address determines the transport_maps > entry, and by implication, the smtp_bind_address value.
Also, look for warnings that the smtp_bind_address setting could not be enforced (Postfix default is "smtp_bind_address_enforce = no"). Finally, are you sure that your source IP address isn't remapped by NAT? This may require a network sniffer outside your server. Wietse _______________________________________________ Postfix-users mailing list -- postfix-users@postfix.org To unsubscribe send an email to postfix-users-le...@postfix.org