If your Unix-based operating system fails, you’ll never know if you don’t forward system emails. When your system is acting up, it will generate emails. However, a Unix system doesn’t send emails by default because spammers hate everyone.
Prerequisites
Before we begin, ensure you have:
- A Unix/Linux system with root access
- A Gmail account with 2FA enabled
- An App Password generated for your Gmail account
Step-by-Step Configuration
- Install mailx (use a package manager)
# For Debian/Ubuntu
sudo apt-get install mailutils
# For RHEL/CentOS
sudo yum install mailx
- Edit your mail.rc
sudo vi /etc/mail.rc
- Add the following configuration at the bottom of your mail.rc:
set smtp=smtps://smtp.gmail.com:465
set smtp-auth=login
set smtp-auth-user=USERNAME@gmail.com
set smtp-auth-password=YOURPASSWORD
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/ # You might need to adjust this depending on your Unix OS
- Test the configuration
echo "My Test Message" | mail -v -s "My Test Subject" email@some.domain.tld
- If successful, you’ll see output similar to this:
Resolving host smtp.gmail.com . . . done.
Connecting to 74.125.199.108:465 . . . connected.
220 smtp.gmail.com ESMTP u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
>>> EHLO homelab.is-leet.com
250-smtp.gmail.com at your service, [50.126.101.7]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> AUTH LOGIN
334 VXNlcm5hbWU6
>>> amVmZmFiYWlsZXlAZ21haWwuY29t
334 UGFzc3dvcmQ6
>>> eHZhdHNldXhzb3FvcGt3ZA==
235 2.7.0 Accepted
>>> MAIL FROM:<jeff@homelab.is-leet.com>
250 2.1.0 OK u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
>>> RCPT TO:<jeffabailey@gmail.com>
250 2.1.5 OK u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
>>> DATA
354 Go ahead u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
>>> .
250 2.0.0 OK 1650153154 u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
>>> QUIT
221 2.0.0 closing connection u12-20020a17090a890c00b001b8efcf8e48sm12327759pjn.14 - gsmtp
Troubleshooting Common Issues
SSL/TLS Errors
If you encounter SSL/TLS errors, ensure your system has the necessary certificates installed:
# For Debian/Ubuntu
sudo apt-get install ca-certificates
# For RHEL/CentOS
sudo yum install ca-certificates
Authentication Failures
If authentication fails:
- Verify your Gmail username is correct
- Ensure you’re using an App Password, not your regular Gmail password
- Check that 2FA is enabled on your Gmail account
Permission Issues
If you can’t edit mail.rc:
sudo chmod 644 /etc/mail.rc
Security Best Practices
- Use App Passwords instead of your main Gmail password
- Keep your mail.rc file permissions restricted
- Regularly rotate your App Passwords
- Monitor your Gmail account for suspicious activity
Alternative Email Clients
While mailx is the traditional choice, consider these alternatives:
- Postfix
- Sendmail
- Exim
Conclusion
Setting up system email notifications is crucial for system monitoring. With this guide, you can now receive important system alerts directly in your Gmail inbox.
Have a great day! 😎