TSF – Giải pháp IT toàn diện cho doanh nghiệp SMB | HCM

P16 - Proxmox Backup Email Notification – Fully Working Setup

🚀 Proxmox VE P16 – Proxmox Backup Email Notification (Fully Working Setup)

Backup without notification is a silent risk.

In this guide, we configure Proxmox Backup Email Notifications to ensure you always know whether your virtual machine backups succeed or fail. A properly configured email alert system is essential for IT administrators and homelab engineers who want full visibility into their infrastructure.

This tutorial covers:

  • 📧 Installing and configuring Postfix

  • 🔐 SMTP authentication setup

  • 📨 Email relay configuration

  • 🧪 Testing email delivery

  • 📊 Monitoring logs and troubleshooting

  • ⚙ Ensuring reliable backup alert notifications

By the end of this guide, your Proxmox VE system will automatically send email alerts whenever a backup event occurs.


🧪 Lab Environment

In this lab:

  • Proxmox VE 9.x

  • Private mail server built with mailcow

  • SMTP relay: mail.tsf.id.vn

  • Domain: tsf.id.vn

This configuration works for both local and remote storage backups.


🎯 Why Enable Backup Email Notifications?

Without email alerts:

  • ❌ Failed backups may go unnoticed

  • ❌ Backup storage issues are discovered too late

  • ❌ SMTP misconfiguration remains undetected

  • ❌ Data loss risk increases

With proper notification:

✔ Instant alert on backup success or failure
✔ Early detection of storage problems
✔ Better operational reliability
✔ Production-grade monitoring


🔧 Step 1 – Install Postfix on Proxmox

SSH into Proxmox or use the console.

Update package list:

 
apt update

On Debian/Proxmox, install required SASL modules:

 
apt install libsasl2-modules

This package provides authentication mechanisms such as PLAIN or LOGIN required by Postfix.

Run Postfix configuration:

 
dpkg-reconfigure postfix

System mail name

The system mail name is the hostname introduced when sending mail. It should match your domain and be properly authenticated via DNS (SPF/DKIM).

 
Server domain: tsf.id.vn

Recipient for root and postmaster mail

This defines where internal system notifications are forwarded.

 
baotran@tsf.id.vn

⚙ Step 2 – Configure main.cf (Postfix SMTP Relay)

Run the following commands:

 
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"

This ensures:

  • SMTP authentication enabled

  • TLS encryption enforced

  • Secure relay via port 587


🔐 Step 3 – Create sasl_passwd File for SMTP Authentication

Create file:

 
nano /etc/postfix/sasl_passwd

Add content:

 
[mail.tsf.id.vn]:587 admin@tsf.id.vn:YourMailPassword

Replace YourMailPassword with the actual password or App Password.

Save:

Ctrl + O → Enter → Ctrl + X

Generate hash map and restart:

 
postmap /etc/postfix/sasl_passwd systemctl restart postfix

Secure the file:

 
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

📤 Step 4 – Add Sender Address Mapping

Create file:

 
nano /etc/postfix/sender_canonical

Add:

 
root@tsf.id.vn admin@tsf.id.vn

Generate map:

 
postmap /etc/postfix/sender_canonical chmod 600 /etc/postfix/sender_canonical*

Declare map for Postfix:

 
postconf -e "sender_canonical_maps = hash:/etc/postfix/sender_canonical"

Restart:

 
systemctl restart postfix

🧪 Step 5 – Test Sending Mail

Send test mail:

 
echo "Test mail from Proxmox" | mail -s "Proxmox test" baotv1992@gmail.com

If email is received → configuration is working correctly.

If not, check logs:

 
journalctl -u postfix –f

Delete old mail in queue:

 
postsuper -d ALL

Set default sender for all Proxmox mail:

 
nano /etc/postfix/main.cf

Add:

 
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 Test

Example:

  • Backup VM 104 daily

After backup completes, verify:

  • Email notification received

  • Backup logs show success

  • No SMTP authentication errors


📊 Monitoring & Troubleshooting

Common issues:

❌ SMTP authentication failed
❌ TLS certificate error
❌ Relay access denied
❌ Port 587 blocked
❌ SPF/DKIM misconfiguration

Always monitor:

 
journalctl -u postfix –f

Check Proxmox backup task logs for additional errors.


🔐 Production Best Practices

✔ Use App Password instead of main account password
✔ Enable SPF, DKIM, DMARC
✔ Restrict relay access
✔ Monitor mail queue regularly
✔ Test backup alert monthly
✔ Use dedicated monitoring email

Email notification is part of backup validation strategy.


🎯 Conclusion

In this Proxmox VE P16 guide, you have successfully configured:

  • Postfix SMTP relay

  • Secure authentication via SASL

  • TLS encrypted email sending

  • Sender canonical mapping

  • Backup email testing

  • Log monitoring and troubleshooting

Your Proxmox system is now capable of sending instant backup email notifications whenever backup events occur.

A professional virtualization environment is not complete without alerting and monitoring.

Backup + Notification = Real Data Protection.

See also related articles

P15 – Backup and Restore VM in Proxmox VE

P15 – Backup and Restore VM in Proxmox VE 🚀 Proxmox VE P15 – Backup and Restore VMs (Full Step-by-Step Guide) Data protection is one of the most critical responsibilities of any system administrator.In Proxmox VE, having a proper backup and restore strategy ensures your infrastructure can quickly recover from...

Read More

P14 – How to Remove Cluster Group Safely on Proxmox

Proxmox VE 9 P14: How to Remove Cluster Group Safely In Proxmox (Step-by-Step Guide) 🚀 Proxmox VE 9 – How to Remove Cluster Group (Step-by-Step) In some scenarios, you may need to remove a Proxmox cluster configuration completely, especially when: ❌ A node failed permanently ❌ The cluster was misconfigured...

Read More