Jeff Bailey
Written by Jeff Bailey

Learning resources, opinions, and facts about technology.

Deliver macOS system mail

Reading Time: 1.3 minutes
Listen to this post

Deliver macOS system mail with the following instructions. These instructions apply to macOS Catalina.

Why would you want to do this?

  • You have cron jobs running on your system, and you want to receive emails when they fail
  • You want to send an email when certain things happen on your system through Automator or other means


Edit the /etc/postfix/sasl_passwd file

sudu vi /etc/postfix/sasl_passwd

Add this line of text

[]:587 <Your Email Id><Your Password>

Run this command

sudo postmap /etc/postfix/sasl_passwd

Edit the sudo vi /etc/postfix/ file

sudo vi /etc/postfix/

Check that none of these settings are defined in the file then add these settings to the bottom of the file.

# Gmail SMTP relay
relayhost = []:587

# Enable SASL authentication in the Postfix SMTP client.
smtpd_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_sasl_mechanism_filter = AUTH LOGIN

# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls = yes
smtp_tls_security_level = encrypt
tls_random_source = dev:/dev/urandom

Test delivery of mail from your system

date | mail -s "Test Email" <Your Email Id>

If you don’t receive an email you can run this command before the previous command to debug the problem.

log stream --predicate  '(process == "smtpd") || (process == "smtp")' --info