Skip to main content

Set Up Proxmox Alerts via Gmail

  1. SSH into the Proxmox node and become the root user. Run the following commands to download the extra software dependencies we'll need:

    apt update
    apt install -y libsasl2-modules mailutils
  2. Enable 2FA for the Gmail account that will be used, by going to security settings.

  3. Create an app password for the account.

    1. Go to App Passwords.
    2. Select app: Mail.
    3. Select device: Other.
    4. Type in: Proxmox or whatever you want here.
    5. Save the displayed password to use in the Postfix credentials.
  4. Write the Gmail credentials to a file and hash it. Again, make sure you are root.

    echo "smtp.gmail.com youremail@gmail.com:yourpasswordFROMAppPasswords" > /etc/postfix/sasl_passwd

    # chmod u=rw
    chmod 600 /etc/postfix/sasl_passwd

    # generate /etc/postfix/sasl_passwd.db
    postmap hash:/etc/postfix/sasl_passwd
  5. Open the Postfix configuration file with the editor of your choice.

    nano /etc/postfix/main.cf
  6. Append the following to the end of the file:

    relayhost = smtp.gmail.com:587
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options =
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/ssl/certs/Entrust_Root_Certification_Authority.pem
    smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
    smtp_tls_session_cache_timeout = 3600s

    IMPORTANT: Comment out the existing line containing just relayhost= since we are using this key in our configuration we just pasted in.

    Postfix main.cf relayhost setting

  7. Reload Postfix:

    postfix reload
  8. Test to make sure everything is working:

    echo "sample message" | mail -s "sample subject" anotheremail@gmail.com