1

At the moment it's failing to start postfix. Here's the error I'm receiving:

warning: unreasonable macro call nesting: "mydomain"
warning: unreasonable macro call nesting: ", localhost."
warning: unreasonable macro call nesting: "mydomain"
warning: unreasonable macro call nesting: ", localhost, "
warning: unreasonable macro call nesting: "mydomain"
fatal: dictionary mail_dict: macro processing error
postfix.service: control process exited, code=exited status=1
Failed to start Postfix Mail Transport Agent.
Unit postfix.service entered failed state.
postfix.service failed.

Here's my main.cf (Only included the bit that's uncommented and been added to the file):

myhostname = mail.domain.net
mydomain = domain.net
myorigin = $mydomain
home_mailbox = mail/
mynetworks = 127.0.0.0/8
inet_interfaces = all
inet_protocols = all
inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

In the above code I've edited the mail.domain.net and domain.net in my local piece of code.

Postconf -n in full:

postconf: warning: unreasonable macro call nesting: "mail.domain.net    mydomain = domain.net    myorigin = "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: "    home_mailbox = mail/    mynetworks = 127.0.0.0/8    relay_domains =     inet_interfaces = all    inet_protocols = all    mydestination = "
postconf: warning: unreasonable macro call nesting: "myhostname"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost."
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: warning: unreasonable macro call nesting: ", localhost, "
postconf: warning: unreasonable macro call nesting: "mydomain"
postconf: fatal: dictionary mail_dict: macro processing error
2
  • Anything in logfile? Maybe some further details.
    – deagh
    Aug 28, 2017 at 8:11
  • Which log file? When I do systemctl status postfix -l the error I receive is the same as above @deagh Aug 28, 2017 at 11:35

2 Answers 2

1

I see one error on your main.cf: there should only be one line for inet_interfaces and localhost is not a valid value for ìnet_interfaces`

From http://www.postfix.org/postconf.5.html#inet_interfaces

inet_interfaces (default: all)

The network interface addresses that this mail system receives mail on. Specify "all" to receive mail on all network interfaces (default), and "loopback-only" to receive mail on loopback network interfaces only (Postfix version 2.2 and later). The parameter also controls delivery of mail to user@[ip.address].

Note 1: you need to stop and start Postfix when this parameter changes.

Note 2: address information may be enclosed inside [], but this form is not required here.

When inet_interfaces specifies just one IPv4 and/or IPv6 address that is not a loopback address, the Postfix SMTP client will use this address as the IP source address for outbound mail. Support for IPv6 is available in Postfix version 2.2 and later.

On a multi-homed firewall with separate Postfix instances listening on the "inside" and "outside" interfaces, this can prevent each instance from being able to reach remote SMTP servers on the "other side" of the firewall. Setting smtp_bind_address to 0.0.0.0 avoids the potential problem for IPv4, and setting smtp_bind_address6 to :: solves the problem for IPv6.

A better solution for multi-homed firewalls is to leave inet_interfaces at the default value and instead use explicit IP addresses in the master.cf SMTP server definitions. This preserves the Postfix SMTP client's loop detection, by ensuring that each side of the firewall knows that the other IP address is still the same host. Setting $inet_interfaces to a single IPv4 and/or IPV6 address is primarily useful with virtual hosting of domains on secondary IP addresses, when each IP address serves a different domain (and has a different $myhostname setting).

See also the proxy_interfaces parameter, for network addresses that are forwarded to Postfix by way of a proxy or address translator. Examples:

inet_interfaces = all (DEFAULT)
inet_interfaces = loopback-only (Postfix version 2.2 and later)
inet_interfaces = 127.0.0.1
inet_interfaces = 127.0.0.1, [::1] (Postfix version 2.2 and later)
inet_interfaces = 192.168.1.2, 127.0.0.1
7
  • Thank you for that. I've removed one of the inet_interfaces and left the default one pointing to "all" (without the quotation marks). Although the exact same error is still presenting itself when running systemctl restart postfix -l. Would it help if I posted my master.cf or wouldn't that be the problem? Aug 28, 2017 at 15:06
  • Can you post the Output of postconf -n? Maybe this helps in finding the error. Aug 28, 2017 at 15:19
  • Hi, I've updated the output of postconf -n. It's quite long but it's repetitive. Aug 28, 2017 at 15:36
  • Can you try and remove the first three lines of the config? Aug 28, 2017 at 16:00
  • Weird. That worked. Where would postfix be picking up the hostname and domain from now? I've been more or less following this: hostpresto.com/community/tutorials/… Aug 28, 2017 at 16:07
-1

I think you need relayhost = your_mta.

2
  • Why do you think that would help?
    – Jenny D
    Aug 28, 2017 at 9:15
  • This didn't work unfortunately Aug 28, 2017 at 11:38

You must log in to answer this question.

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