Proxmox Email Notification Configuration 🌱

Configuring User E-mail Address

  1. In a web browser, navigate to the Proxmox web UI and login
  2. Select Datacenter > Permissions > Users from the left navigation menus
  3. Double click the user to configure
  4. Complete the E-mail field on the Edit User form > Click OK

Simple Configuration via Web UI

By default, Proxmox will try to use the domain portion of the "Email from address" as the e-mail relay server.

  1. Select Datacenter > Options from the left navigation menus
  2. Double click the Email from address field
  3. Enter the e-mail address that Proxmox will send outgoing e-mails from > Click OK
  4. Expand Datacenter > Select the node name > Click Shell in the left navigation menus
  5. Run the following commands in the terminal
    # send a basic test email
    echo "Test email from Proxmox: $(hostname)" | /usr/bin/pvemailforward
    # output the mail log
    cat /var/log/mail.log
  6. Notice the relay is the domain (i12bretro.local) from the Email from address setting

Advanced Configuration via CLI

To make more advanced configuration changes, like using a gmail account, you need to edit the postfix settings via command line

  1. Back in the Proxmox web shell, run the following commands in the terminal
    # install libsasl
    apt install libsasl2-modules -y
    # edit the postfix config
    nano /etc/postfix/main.cf
  2. Press CTRL+W and search for mydestination
  3. Comment out mydestination by adding a # to the beginning of the line
  4. Press CTRL+W and search for relayhost
  5. Comment out relayhost by adding a # to the beginning of the line
  6. Update or add the following configuration

    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

  7. Press CTRL+O, Enter, CTRL+X to write the changes
  8. Continue with the following commands in the terminal
    # create /etc/postfix/sasl_passwd
    nano /etc/postfix/sasl_passwd
  9. Add a line to configure gmail authentication

    smtp.gmail.com:587 <%youraccount%>@gmail.com:<%yourpassword%>

  10. Press CTRL+O, Enter, CTRL+X to write the changes
  11. Continue with the following commands in the terminal
    # update postfix lookup tables
    postmap hash:/etc/postfix/sasl_passwd
    # limit access to sasl_passwd to only root
    chmod 600 /etc/postfix/sasl_passwd
    # restart postfix service
    systemctl restart postfix
    # test from postfix directly
    echo "Test email from Proxmox: $(hostname)" | mail -s "Proxmox Testing" <%youraccount%>@gmail.com
    # send a test from proxmox
    echo "Test email from Proxmox: $(hostname)" | /usr/bin/pvemailforward

Sources: https://forum.proxmox.com/threads/get-postfix-to-send-notifications-email-externally.59940/,
https://www.reddit.com/r/homelab/comments/5nzmm3/setting_up_the_proxmox_email_alerts/