Proxmox VE – powiadamianie emailowe przez Postfix na zewnętrzny serwer poczty

Wstępne założenia 

Poczta do obsługi powiadomień ze wszystkich wymaganych serwerów / aplikacji i usług znajduje się na zewnątrz mojej sieci na serwerze pocztowym w OVH o następujących parametrach:

  • nazwa: ssl0.ovh.net
  • port: 587
  • ssl/tls: tak
  • użytkownik: [email protected]
  • hasło: xxxxxxxxxxxxxxxx

Instalacja i konfiguracja Postfix do przekazywania poczty na zewnątrz

# instalacja wymaganego oprogramowania
apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules

# backup istniejącej konfiguracji Postfixa
cp /etc/postfix/main.cf /etc/postfix/main.cf.bak

# edycja konfiguracji Postfixa
nano /etc/postfix/main.cf

myhostname = netapps.ovh
myorigin = $myhostname
mydomain =  $myhostname
mynetworks = 127.0.0.0/8 [::1]/128
inet_interfaces = all
mydestination = $myhostname, localhost
relayhost = ssl0.ovh.net:587
disable_dns_lookups = yes
smtp_sasl_auth_enable = yes
smtpd_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_sasl_mechanism_filter = login
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_generic_maps = hash:/etc/postfix/generic
append_dot_mydomain = yes

# sprawdzamy poprawność konfiguracji Postfix
postfix reload
postfix check

# przygotowujemy pliki z danymi do skrzynki na serwerze pocztowym
nano /etc/postfix/sasl_passwd

ssl0.ovh.net:587 [email protected]:xxxxxxxxxxxxxxxx

# aktualizacja tabel wyszukiwania Postfix
postmap /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

# Funkcja smtp_generic_maps w Postfix umożliwia przepisanie adresu nadawcy (od) w wychodzących wiadomościach e-mail
nano /etc/postfix/generic

root    [email protected]
nagios  [email protected]

postmap /etc/postfix/generic
chown root:root /etc/postfix/generic /etc/postfix/generic.db
chmod 0600 /etc/postfix/generic /etc/postfix/generic.db

systemctl restart postfix

Testy działania emaila z konsoli serwera

# próbny email testowy
echo "Zawartosc emaila testowego" | mail -r "[email protected]" -s "Testowy email z konsoli serwera" [email protected]

# próbny backup z konsoli wybranej maszyny id 122
vzdump 122 --storage backupstore-02 --notes-template '{{guestname}}' --compress zstd --mailto [email protected] --mode stop --node pve --remove 0

Weryfikacja działania serwera pocztowego

Sprawdzamy logi systemowe poczty na obecność ewentualnych błędów np. autoryzacji. W tym przypadku wszystko jest OK i status=sent.

tail -f /var/log/mail.log

May 07 17:39:08 pve postfix/smtp[2660545]: 9933F2800061: to=<[email protected]>, relay=ssl0.ovh.net[191.73.18.122]:587, delay=1.2, delays=0.01/0.01/0.73/0.48, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8B8E01FD79)
May 07 17:39:08 pve postfix/qmgr[2658965]: 9933F2800061: removed