Launch Terminal.app from the Applications > Utilities folder directly on the server and issue the following diagnostic command:
sudo changeip -checkhostname
This will report some information on your server, and whether no changes are required, or if there are problems.
Do not use .local for the domain name.
Do confirm your external DNS is correct, too; that your forward and reverse DNS translations for your MX record are correct. (Incorrect DNS can cause inbound mail to be blocked, and can cause outbound mail to be dropped by receiving servers; to be flagged as a spam engine.)
From the Terminal.app session, issue the following diagnostic commands. The following uses example.com as your domain, and mail.example.com as your mail server host name, and ip.address.returned as the IP address returned for the mail.example.com translation:
dig example.com MX
dig -x ip.address.returned
make sure the domain name returned by the IP address matches the mail.example.com name, and the MX record matches the IP address or the domain name.
Mail sent directly from a server using dynamic IP won't be reliable.
Then confirm the server name is correctly set in the mail configuration within Server Admin.
Server Admin > select server > Mail > Settings > General