Proxmox: Mailversand via Relay

Proxmox: Mailversand via Relay

Postfix installieren (sofern noch nicht erfolgt)

apt-get install postfix
systemctl enable postfix

Postfix konfigurieren

Konfigurationsdatei /etc/postfix/main.cf

myhostname = pve.example.com
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8
inet_interfaces = loopback-only

Natürlich müssen die entsprechenden Werte für die Attribute myhostname (FQDN des lokalen Systems). Ziel ist es, dass nur vom lokalen System E-Mails entgegengenommen (und weitergeleitet) werden.

E-Mail Relay installieren

apt-get install libsasl2-modules

Konfigurationsdatei /etc/postfix/main.cf

relayhost = [mailserver-to-forward-to]:[port]
...
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_wrappermode = yes
header_size_limit = 4096000

Wobei der Relayhost dem Mailserver des E-Mail-Anbieters, über welchen versendet werden soll, entsprechen muss.

Zugangsdaten hinterlegen

Datei /etc/postfix/sasl_passwd

[relayhost]:[port] username:password

Nach Änderungen muss das Postfixmapping aktualisiert werden. Dadurch wird eine neue Datei erzeugt: /etc/postfix/sasl_passwd.db

postmap /etc/postfix/sasl_passwd
systemctl restart postfix.service

Anschließend wird die Datei auf den User root beschränkt

chown "root:root" "/etc/postfix/sasl_passwd"
chmod 0600 "/etc/postfix/sasl_passwd"

Absenderadresse mit RegEx überschreiben

Konfigurationsdatei /etc/postfix/main.cf

sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps = regexp:/etc/postfix/sender_canonical
smtp_header_checks = regexp:/etc/postfix/header_check

Datei mit der Regular Expression Definition für das Attribut „sender_canonical_maps“ /etc/postfix/sender_canonical

/.+/    do-not-reply@[Absenderdomain].[tld]

Datei mit der Regular Expression Definition für das Attribut „smtp_header_checks“ /etc/postfix/header_check

/From:.*/ REPLACE From: [yourhostname] (Proxmox, PVE) <do-not-reply@example.com>

Anschließend wieder das Postfixmapping aktualisieren und die Dateien auf den User root beschränken

postmap /etc/postfix/sender_canonical
chown "root:root" "/etc/postfix/sender_canonical"
chmod 0600 "/etc/postfix/sender_canonical"
chown "root:root" "/etc/postfix/header_check"
chmod 0600 "/etc/postfix/header_check"

Root Alias

Datei /etc/aliases

...
root: [adresse]@[domain].[tld]

Anschließend die Postfix Alias Datenbank aktualisieren

postalias /etc/aliases

Mailadresse im Proxmox User hinterlegen

Für den jeweiligen Benutzer die entsprechende E-Mailadresse im User hinterlegen (Proxmox GUI).

Test

systemctl restart postfix.service
systemctl status postfix.service
echo "Hello World Message" | mail -s "Hello World Subject from $(hostname)" "your-mail-adress-to-receive"
journalctl -f -u postfix*

Die Kommentare sind geschlossen.