Proxmox Backup Email Notification – Fully Working Setup
In this guide, we show how to set up Proxmox Backup Email Notifications for your VMs and containers. You will learn how to configure email alerts so you always know when a backup succeeds or fails. The tutorial covers Postfix/SMTP setup and testing email delivery for Proxmox VE. We demonstrate a fully working configuration that ensures reliable notifications for all backup jobs. You will see how to monitor backup logs and troubleshoot common issues.
This setup is compatible with Proxmox VE 9.x and works for both local and remote storage. Following this guide helps IT admins and homelab enthusiasts ensure backup reliability and prevent data loss. By the end of this tutorial, your Proxmox system will send instant email alerts whenever backup events occur.
Lab: I am using a private email server built with mailcow for this lab.
Step 1: Install Postfix on Proxmox
SSH into Proxmox or use console.
apt update
On Debian/Proxmox, you need to install:
apt install libsasl2-modules
This package provides the “mechanisms” such as PLAIN or LOGIN that Postfix needs to authenticate.
Run the Postfix configuration command:
dpkg-reconfigure postfix
System mail name is the name your server “introduces itself” when sending mail out (ie the hostname that appears in the From / Received header). It should be the domain name that your mail server manages and can be authenticated by DNS (SPF/DKIM) so that mail is not marked as spam.
Server domain: tsf.id.vn
Recipient for root and postmaster mail: asks where you want mail sent to the root and postmaster of this server to be forwarded. This is internal system mail (e.g. error notification, cron, backup).
baotran@tsf.id.vn
Step 2: Configure main.cf postfix
Run each of these commands (to let Postfix write the correct configuration):
postconf -e “relayhost = [mail.tsf.id.vn]:587”
postconf -e “smtp_sasl_auth_enable = yes”
postconf -e “smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd”
postconf -e “smtp_sasl_security_options = noanonymous”
postconf -e “smtp_sasl_mechanism_filter = plain, login”
postconf -e “smtp_sasl_type = cyrus”
postconf -e “smtp_use_tls = yes”
postconf -e “smtp_tls_security_level = encrypt”
postconf -e “smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt”
Step 3: Create sasl_passwd file for SMTP auth
nano /etc/postfix/sasl_passwd
Content:
[mail.tsf.id.vn]:587 admin@tsf.id.vn:YourMailPassword
Replace YourMailPassword with admin@tsf.id.vn’s password or App Password
Save file Ctrl + O, Enter, Ctrl + X
Run again:
postmap /etc/postfix/sasl_passwd
systemctl restart postfix
make sure the original file is only readable by root:
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Step 4: Add user address mapping map send:
Create file:
nano /etc/postfix/sender_canonical
Add line:
root@tsf.id.vn admin@tsf.id.vn
Then create map:
postmap /etc/postfix/sender_canonical
chmod 600 /etc/postfix/sender_canonical*
_______________________________________
Declare for Postfix to use this map:
postconf -e “sender_canonical_maps = hash:/etc/postfix/sender_canonical”
systemctl restart postfix
Step 5: Test sending mail
echo “Test mail from Proxmox” | mail -s “Proxmox test” baotv1992@gmail.com
If receiving mail → everything OK, Proxmox can send backup mail via mailcow.
If it fails, check the log
journalctl -u postfix –f
Delete old mail in the queue
postsuper -d ALL
Set default sender for all Proxmox mail
nano /etc/postfix/main.cf
canonical_maps = hash:/etc/postfix/sender_canonical
sender_canonical_maps = hash:/etc/postfix/sender_canonical
then run:
postmap /etc/postfix/sender_canonical
systemctl reload postfix
Step 6: Backup Schedule
Ex: backup vm 104 at daily
Check email after backup is complete