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

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.

Emmett

_______________________________________________
Postfix-users mailing list -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to