Postfix virtual table: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:
 
;beliebige Adress umwandeln
 
;beliebige Adress umwandeln
 
  fiktive@it2XX.int  real@it2XX.int
 
  fiktive@it2XX.int  real@it2XX.int
:catch all
+
;catch all
 
  @it2XX.int  real@it2XX.int
 
  @it2XX.int  real@it2XX.int
 
  
 
=== Beispiel: Virtual-Alias-Tabelle erstellen ===   
 
=== Beispiel: Virtual-Alias-Tabelle erstellen ===   
Zeile 33: Zeile 32:
 
*postfix reload
 
*postfix reload
  
== Virtuelle Mailbox für '''service@it2XX.int''' == 
 
* Eine virtuelle Mailbox für '''service@it1XX.int''' wird eingerichtet, sodass die Mails unter '''/var/mail/service/''' gespeichert werden. 
 
  
=== Virtuelle Mailbox-Tabelle erstellen ===
+
== Virtuelle Mailbox für '''service@it2XX.int''' ==
;Datei erstellen oder bearbeiten:
+
* Eine virtuelle Mailbox für '''service@it2XX.int''' wird eingerichtet, sodass die Mails unter '''/var/mail/service/''' gespeichert werden.
*vi /etc/postfix/virtual_mailbox_maps
+
 
  <pre>
+
=== Systembenutzer anlegen ===
   service@it2XX.int    /var/spool/service/
+
;Virtuellen Mailbox-User anlegen:
  archive@it2XX.int    /var/mail/archive/
+
* groupadd -g 5000 vmail
  reports@it2XX.int    /var/mail/reports/
+
* useradd -u 5000 -g 5000 -d /var/mail vmail
  </pre> 
+
 
;Nach jeder Änderung die Tabelle aktualisieren:
+
=== Virtuelle Mailbox-Tabelle erstellen ===
*postmap /etc/postfix/virtual_mailbox_maps
+
;Datei erstellen oder bearbeiten:
 +
* vi /etc/postfix/virtual_mailbox_maps
 +
   service@it2XX.int    service/
 +
 
 +
;Nach jeder Änderung die Tabelle aktualisieren:
 +
* postmap /etc/postfix/virtual_mailbox_maps
  
=== In /etc/postfix/main.cf eintragen ===
+
=== In /etc/postfix/main.cf eintragen ===
;Datei bearbeiten: 
+
;Folgende Zeilen hinzufügen oder anpassen:
*vi /etc/postfix/main.cf 
+
virtual_mailbox_domains = it2XX.int
;Folgende Zeile hinzufügen oder anpassen:   
+
  virtual_mailbox_base = /var/mail
 
  virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps
 
  virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps
;Beispielsweise mit:
+
virtual_uid_maps = static:5000
  postconf -e "virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps"
+
  virtual_gid_maps = static:5000
 +
 
 +
!!!'''Wichtig'''!!! it2XX.int darf '''nicht''' in mydestination stehen – sonst ignoriert Postfix die virtual_mailbox_maps.
  
=== Verzeichnis für die Mailbox erstellen === 
+
;mydestination anpassen:
*mkdir -p /var/mail/service/  
+
  postconf -e "mydestination = mail.it2XX.int, localhost"
*mkdir -p /var/mail/archive/ 
 
*mkdir -p /var/mail/reports/ 
 
*chown -R postfix:postfix /var/mail/archive/ /var/mail/reports/  /var/mail/service/
 
*chmod -R 770 /var/mail/archive/ /var/mail/reports/  /var/mail/service/
 
  
=== Postfix neu starten ===
+
=== Verzeichnis für die Mailbox erstellen ===
*systemctl restart postfix
+
* mkdir -p /var/mail/service/
 +
* chown -R vmail:vmail /var/mail/service/
 +
 
 +
=== Postfix neu starten ===
 +
* systemctl restart postfix
  
 
== Test der Konfiguration ==   
 
== Test der Konfiguration ==   
 
=== Virtuelle Mailbox testen ===   
 
=== Virtuelle Mailbox testen ===   
*Sende eine Testmail an '''archive@it1XX.int''':   
+
Sende eine Testmail an '''archive@it1XX.int''':   
  <pre>
+
*echo "Testmail an Archive" | mail -s "Test" archive@it1XX.int
  echo "Testmail an Archive" | mail -s "Test" archive@it1XX.int
+
Überprüfe die Mail-Logs:   
  </pre> 
+
*journalctl -fu postfix
*Überprüfe die Mail-Logs:
 
  <pre>
 
  tail -f /var/log/mail.log
 
  </pre> 
 
 
 
=== Catch-All testen ===  
 
*Sende eine Testmail an eine nicht existierende Adresse, z. B. '''nichtda@it1XX.int''': 
 
  <pre>
 
  echo "Testmail an nicht definierte Adresse" | mail -s "Catch-All Test" nichtda@it1XX.int
 
  </pre> 
 
*Überprüfe die Weiterleitung an '''catchall@it1XX.int''' im Log: 
 
  <pre>
 
  tail -f /var/log/mail.log
 
  </pre>
 

Aktuelle Version vom 5. Juni 2026, 09:16 Uhr

virtual (Virtuelle Mailbox-Zustellung)

  • Ordnet E-Mail-Adressen virtuellen Mailboxen zu
  • Wird für virtuelle Domains genutzt
  • Ermöglicht die Trennung von Mail-Adressen und Systembenutzern
  • Erfordert einen Maildir- oder mbox-Speicherort für die Zustellung

Syntax

beliebige Adress umwandeln
fiktive@it2XX.int  real@it2XX.int
catch all
@it2XX.int  real@it2XX.int

Beispiel: Virtual-Alias-Tabelle erstellen

Datei erstellen
  • vi /etc/postfix/virtual
  technik@it213.int leroy@it213.int
  vertrieb@it213.int martha@it213.int
  @it213.int martha@it213.int
  
Nach jeder Änderung die Tabelle aktualisieren
  • postmap /etc/postfix/virtual

In /etc/postfix/main.cf eintragen

Datei bearbeiten
  • vi /etc/postfix/main.cf
Folgende Zeile hinzufügen oder anpassen
virtual_alias_maps = hash:/etc/postfix/virtual  

Postfix neu laden

Änderungen übernehmen
  • postfix reload


Virtuelle Mailbox für service@it2XX.int

  • Eine virtuelle Mailbox für service@it2XX.int wird eingerichtet, sodass die Mails unter /var/mail/service/ gespeichert werden.

Systembenutzer anlegen

Virtuellen Mailbox-User anlegen
  • groupadd -g 5000 vmail
  • useradd -u 5000 -g 5000 -d /var/mail vmail

Virtuelle Mailbox-Tabelle erstellen

Datei erstellen oder bearbeiten
  • vi /etc/postfix/virtual_mailbox_maps
 service@it2XX.int    service/
Nach jeder Änderung die Tabelle aktualisieren
  • postmap /etc/postfix/virtual_mailbox_maps

In /etc/postfix/main.cf eintragen

Folgende Zeilen hinzufügen oder anpassen
virtual_mailbox_domains = it2XX.int
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

!!!Wichtig!!! it2XX.int darf nicht in mydestination stehen – sonst ignoriert Postfix die virtual_mailbox_maps.

mydestination anpassen
postconf -e "mydestination = mail.it2XX.int, localhost"

Verzeichnis für die Mailbox erstellen

  • mkdir -p /var/mail/service/
  • chown -R vmail:vmail /var/mail/service/

Postfix neu starten

  • systemctl restart postfix

Test der Konfiguration

Virtuelle Mailbox testen

Sende eine Testmail an archive@it1XX.int:

  • echo "Testmail an Archive" | mail -s "Test" archive@it1XX.int

Überprüfe die Mail-Logs:

  • journalctl -fu postfix