3

Log

to=<[email protected]>, relay=none, delay=21311, delays=21301/0.04/10/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localdomain type=MX: Host not found

OS: FreeBSD

When I run the following command on my postfix client, it does resolve. mail.p.example.com hosts our postfix server, which then relays emails to gmail smtp.

host -t MX p.example.com
p.example.com mail is handled by 10 host.p.example.com.

I compare my postfix config with a working config on another host and they're the same.

inet_protocols = ipv4
mynetworks_style = host
inet_interfaces = loopback-only
relayhost = $mydomain

There's more to the config than what I pasted above but nothing related to dns. smtp_host_lookup hasn't been set (default value = dns).

I do not have any resolv.conf files under /var/spool/postfix. Would appreciate any directions on how postfix resolves DNS records.

2
  • The domain you looked up with host -t MX is not the domain you sent mail to. Jan 18, 2019 at 0:54
  • So the email was sent to the domain example.com, which has been whitelisted in transport db. The domain I looked up is an environment in example.com. I do not understand how the receiver domain matters here in terms of DNS resolution. I updated the ticket with more details "When I run the following command on my postfix client, it does resolve. mail.p.example.com hosts our postfix server, which then relays emails to gmail smtp." Also updated the receiver address in log.
    – pdna
    Jan 18, 2019 at 3:38

2 Answers 2

2

Aha, now the problem is obvious:

relayhost = $mydomain

You have configured Postfix to deliver all mail to $mydomain, which is set to localdomain.

Your narrative indicates you meant to be relaying mail to Gmail, so your relayhost should be set to the appropriate Google hostname for that purpose, e.g.:

 relayhost = [smtp-relay.gmail.com]:25

or

 relayhost = [smtp-relay.gmail.com]:587

and your smtp_sasl_password_maps should point to a file containing your Gmail credentials, if you are using SMTP authentication.

13
  • Let me clarify my statement again. All postfix clients in the environment forward emails to the mail server, which then forwards them to [smtp-relay.gmail.com]:587. The log here is from a postfix client. Its not even hitting the internal mail server
    – pdna
    Jan 18, 2019 at 3:53
  • But I can check what $mydomain is set to. I have been thinking it resolves via dns or something.
    – pdna
    Jan 18, 2019 at 3:54
  • So this is not the postfix server that relays to Gmail, but to another postfix server? Definitely check relayhost and set it to the correct value. $mydomain will never be it. Jan 18, 2019 at 3:54
  • Yes. There is only server in the environment that can relay to smtp-gmail. The config is working on other hosts. I did an md5 comparison on configs
    – pdna
    Jan 18, 2019 at 3:56
  • Set relayhost to point to that server, then. I have no idea how $mydomain would work on any other server, since that is not likely to be the name of the server, and even if it was, it would probably be semantically wrong. Jan 18, 2019 at 3:56
0

hostname -f wasn't resolving to FQDN on the host thats causing issues. its only resolving to shortname. On the hosts where postfix clients are working, its resolving to FQDN

hostname was already set under /etc/rc.conf.d/hostname. I just had to restart hostname service. guess someone manually set the hostname/domainname by running commands instead of using configuration management tools.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .