• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]/etc/postfix/main.cf

padersuse

Hacker
Hallo,

ich bin im Bereich Mail-Server noch ein Anfänger, möchte aber mit einer aktuellen Opensuse-Version einen Mail-Server aufsetzen. Ich habe mir dazu den Artikel Taubenschlag aus der Zeitschrift admin in der Aushgabe 02/2012 durchgelesen. Dieser Artikel beschreibt die Installation eines Mailservers unter Debian. Es ergibt sich folgende Frage :

Nimmt man in der Datei /etc/postfix/main.cf folgende Einstellungen vor

myhostname = mail.meinefirma.de
mydomain = meinefirma.de
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
myorigin = $mydomain

darf man dann noch in einer Datei /etc/postfix/virtual_domains zur Zuordnung von virtuellen Mail-Adressen (über virtual_mailbox_domains = /etc/postfix/virtual_domains) den Eintrag
Code:
meinefirma.de
neben virtuellen Domain-Namen wie anderefirma.de vornehmen, da meinefirma.de ja schon über die Variable $mydomain in der Definition von mydestination auftaucht.
Definiere ich virtuelle Domains über die besagte Datei virtual_domains, brauche ich dann den Eintrag in der main.cf für die Zeile virtual_alias_domains = anderefirma.de

Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
darf man dann noch in einer Datei /etc/postfix/virtual_domains zur Zuordnung von virtuellen Mail-Adressen (über virtual_mailbox_domains = /etc/postfix/virtual_domains) den Eintrag
Code:
meinefirma.de
neben virtuellen Domain-Namen wie anderefirma.de vornehmen, da meinefirma.de ja schon über die Variable $mydomain in der Definition von mydestination auftaucht.
[/code]

Ja. Mit $mydomain definierst du quasi die Default Domain, für die der Postfix zuständig ist. Wenn z.B. die virtual_mailbox_domains mit einem SQL- Statement generiert wird, aber der SQL- Server nicht erreichbar ist, dann können die User deiner Firma, also @deinefirma.de zum Leidwesen der anderenfirma.de.

padersuse schrieb:
Definiere ich virtuelle Domains über die besagte Datei virtual_domains, brauche ich dann den Eintrag in der main.cf für die Zeile virtual_alias_domains = anderefirma.de

Nein den brauchst du nicht. Eine Aliasdomain ist quasi nur eine anderer Name für eine Domain, also ähnlich den User- Aliases. Wenn du z.B. autom. Abwesenheitsnotizen umsetzt, verwendest du eine Aliasdomain, urlaub.firma.de.
 
OP
P

padersuse

Hacker
Hallo spoensche,

in dem besagten Artikel aus der Zeitschrift "admin" wird eine Datei "virtual_domains" definiert, in dem virtuelle Domains benannt werden, diese Datei finde ich in meinem opensuse-Server aber nicht wieder. Kann es sein, dass in der Opensuse-Version die Datei /etc/postfix/virtual diesen Zweck erfüllt? Sind virtuelle Domänen daher nicht dasgleiche wie "virtuelle_alias-Domänen" ?
Außerdem findet sich in meinem Opensuse-Server in der main.cf folgender Eintrag
Code:
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

in dem Artikel wird aber in der main.cf unter
Code:
virtual_mailbox_domains
auf die Datei
Code:
/etc/postfix/virtual_domains
verwiesen. Wie gehe ich mit diesen unterschiedlichen Angaben um, bzw. muss ich mich jetzt erst mit mysql-Befehlen auseinandersetzen, um die Konfiguration von postfix zu spezifizieren ?

Gruß

Padersuse
 
OP
P

padersuse

Hacker
Nach Sichtung des Buches Linux 2013 von Michael Kofler kann ich nun sagen, dass
die Datei
Code:
/etc/postfix/virtual
User einer Domain einem lokalen oder virtuellem User zuordnet und der Eintrag der main.cf
Code:
virtual_alias_domains =
die Domains auflistet , für die der Mailserver die Mails lokal zustellt. Allerdings kann ich mit den Eintrag in der main.cf unter opensuse
Code:
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
nicht viel anfangen, in dem besagten Buch von Kofler haben die Einträge in der main.cf
Code:
virtual_alias_domains =
und
Code:
virtual_mailbox_domains =
dieselben Einträge. Wenn man den Verweis auf
Code:
mysql:/etc/postfix/mysql_virtual_domains_maps.cf
ändert auf den besagten Inhalt in dem Buch des Herrn Kofler, inwieweit ist dies schädlich bzw. muss man die Einträge anders gestalten ?
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
Code:
virtual_alias_domains =
die Domains auflistet , für die der Mailserver die Mails lokal zustellt. [/code].

Nein, das ist nicht korrekt. Die Domains, für die der Postfix zuständig ist sind die virtual domains.

padersuse schrieb:
Allerdings kann ich mit den Eintrag in der main.cf unter opensuse
Code:
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
nicht viel anfangen, in dem besagten Buch von Kofler haben die Einträge in der main.cf
Code:
virtual_alias_domains =
und
Code:
virtual_mailbox_domains =
dieselben Einträge. Wenn man den Verweis auf
Code:
mysql:/etc/postfix/mysql_virtual_domains_maps.cf
ändert auf den besagten Inhalt in dem Buch des Herrn Kofler, inwieweit ist dies schädlich bzw. muss man die Einträge anders gestalten ?

Der Prefix mysql: teilt dem Postfix mit, dass er das MySQL Plugin verwenden soll und anhand des SQL-Statements in der Datei die Domains, Users etc. ermitteln kann.
 
OP
P

padersuse

Hacker
Ich habe jetzt dovecot zum Laufen gebracht ohne ssl, da mein Emailserver sich "hinter" einem Router befindet. Von diesem sollen sich Clients die Emails vom Imap-Server abholen. Da ich das Maildir-Format benutzen möchte, habe ich in der /etc/postfix/main.cf folgenden Eintrag gemacht :
Code:
mail_spool_directory = /var/mail/
und in der /etc/dovecot/conf.d/10-mail.conf
Code:
mail_location = maildir:/var/mail/%u/

denn wenn ich in der /etc/dovecot/conf.d/10-mail.conf keinen Eintrag mache, packt mir Dovecot die Emails in den Maildir-Ordner des User-Home-Verzeichnisses. Von dort lassen sich die Emails mit den Clients aber nicht mehr abholen oder doch ?
Ist das so in Ordnung oder würdet ihr die Konfiguration anders wählen ?

Gruß Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
Ich habe jetzt dovecot zum Laufen gebracht ohne ssl, da mein Emailserver sich "hinter" einem Router befindet.

Auch wenn sich dein Mailserver hinter einem Router befindet, kann man deine Mails lesen, weil die Mails im Klartext beim Provider abgeholt werden. Mit SSL/TLS wäre dies nicht so ohne weiteres möglich.

Ganz schlechte Ausrede. ;) Ein SSL-Zertifikat für den Mailserver zu generieren und in der Konfiguration einzutragen ist einfacher als du glaubst.;)

padersuse schrieb:
Von diesem sollen sich Clients die Emails vom Imap-Server abholen. Da ich das Maildir-Format benutzen möchte, habe ich in der /etc/postfix/main.cf folgenden Eintrag gemacht :
Code:
mail_spool_directory = /var/mail/
und in der /etc/dovecot/conf.d/10-mail.conf
Code:
mail_location = maildir:/var/mail/%u/

Das Mail Spoolverzeichnis sind nicht die Usermailboxen. Das Spoolverzeichnis ist eine Queue. Ohne sie hättest du sonst bei einem hohen Mailaufkommen massive Probleme, z.B. in Form von verworfenen bzw. nicht zu gestellten Mails.

padersuse schrieb:
denn wenn ich in der /etc/dovecot/conf.d/10-mail.conf keinen Eintrag mache, packt mir Dovecot die Emails in den Maildir-Ordner des User-Home-Verzeichnisses. Von dort lassen sich die Emails mit den Clients aber nicht mehr abholen oder doch ?
Ist das so in Ordnung oder würdet ihr die Konfiguration anders wählen ?

Doch, die Clients können dort ihre Mails abholen. Es ist ja das IMAP-Postfach des Users. Nebenbei umgehst du mögliche auftretende Berechtigungsprobleme beim Lesen- bzw. Schreiben.
 
OP
P

padersuse

Hacker
Vielen Dank spoensche,

ich werde deine Information umsetzen; berichte dann :D . Wo findet man denn eine verständliche Information, wie man einen Email-Server hinter einem Router mit SSl-Zertifikaten ausstattet ?
Gruß Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
ich werde deine Information umsetzen; berichte dann :D . Wo findet man denn eine verständliche Information, wie man einen Email-Server hinter einem Router mit SSl-Zertifikaten ausstattet ?

In Punkto X509 bzw. SSL-Zertifikat auf Servern und Clients ist openssl.org eine gute Anlaufstelle. Jeder Mailserver hinter einem Router. Dein Vorhaben ist also keins, wo man lange nach Infos sucht aber nix findet.

Allerdings gehört zum sicheren Betrieb eines Mailservers noch einiges mehr als nur die Verbindungssicherheit.

Das Postfixbuch von Peer Heinlein kann ich dir empfehlen. Neben Postfix kommt auch die Spambekämpfung, Dovecot und verschiedene Betriebsarten nicht zu kurz. Dein Vorhaben wirst du dort auch wieder finden.
 
OP
P

padersuse

Hacker
Das Buch von Peer Heinlein ist schon bestellt, allerdings kommt 2015 ein neues auf den Markt. Im Moment begnüge ich mich mit dem Kofler "Linux 2015". In diesem steht, dass z.B. für auch für virtuelle Domains real existierende User-Accounts vorhanden sein müssen, es sei denn, man definiert virtuelle User. Da ich nicht so viele user habe, ich aber auch für bestimmte Email-Adressen wie z.B. vorname.nachname@web.de oder mars@domain.de keine user wie vorname.nachname oder mars anlegen möchte, habe ich in die Datei /etc/postfix/virtual die Zeilen
Code:
vorname.nachname@web.de      vorname.nachname
Code:
mars@domain.de mars
eingefügt. Zusätzlich wurde die Zeilen
Code:
vorname.nachname user1
Code:
mars user1
in die Datei /etc/aliases-Datei eingefügt, da für jede virtuelle Domain mindestens ein eigener username erforderlich ist , die in meinem Fall aber nur Alias-Namen darstellen. Ist dagegen etwas einzuenden ? (Ein Alias verweist ja nur auf ein real existierenden User-Account, stellt aber selbst keinen dar).
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
In diesem steht, dass z.B. für auch für virtuelle Domains real existierende User-Accounts vorhanden sein müssen, es sei denn, man definiert virtuelle User.[/code]

Nein. Du brauchst für eine virtuelle Domain keinen existierenden User. Deswegen ja auch virtuell.

padersuse schrieb:
Email-Adressen wie z.B. vorname.nachname@web.de oder mars@domain.de keine user wie vorname.nachname oder mars anlegen möchte, habe ich in die Datei /etc/postfix/virtual die Zeilen
Code:
vorname.nachname@web.de      vorname.nachname
Code:
mars@domain.de mars
eingefügt. Zusätzlich wurde die Zeilen
Code:
vorname.nachname user1
Code:
mars user1
in die Datei /etc/aliases-Datei eingefügt, da für jede virtuelle Domain mindestens ein eigener username erforderlich ist , die in meinem Fall aber nur Alias-Namen darstellen.

Wo hast du das eingetragen?
 
OP
P

padersuse

Hacker
Hallo Spoensche,

entschuldige bitte meine späte Reaktion, aber ich möchte mein Szenario kurz nochmal schildern,

es existieren 3 Mail-Adressen, z.B.

sonne@t-online.de
roter.mars@web.de
neptun@firma.de

Weder sonne, roter.mars, neptun sind user am Linux-System, dessen Rechner den Namen germlin1.firma.site hat, da er keine ofiizielle IP-Adresse hat. Es existiert im Moment nur ein User am Linux-System, hier user1.
in der Datei /etc/postfix/virtual_domains sind als virtuelle Domains eingetragen :
t-online.de,
web.de,
firma.de

in der Datei /etc/postfix/virtual werden die virtuellen user einer Domain (hier Mailadressen) einem user zugeordnet, in meinem Fall einem Alias-Namen :
sonne@t-online.de sonne
roter.mars@web.de roter.mars
neptun@firma.de neptun

Laut Kofler 2013 kann es nicht sein, dass z.B. derselbe User von 2 unterschiedlichen Domains , z.B. sonne@t-online.de und sonne@web.de demselben virtuellen oder realem user zugeordnet ist, was hier ja auch nicht gegeben ist. Die user sonne, roter.mars und neptun existieren im System aber nur als Alias-Namen. In der Datei /etc/aliases steht entsprechend :
sonne user1
roter.mars user1
neptun user1

Natürlich kann man auch mit virtuellen Usern arbeiten, aber mit Alias-Namen geht es doch auch oder spricht etwas dagegen ?

Gruß Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
entschuldige bitte meine späte Reaktion, aber ich möchte mein Szenario kurz nochmal schildern,

Kein Problem. Du musst dich nicht dafür entschuldigen.

Du machst es dir zu kompliziert. Virtuelle Domains und User sind nur dann nötig, wenn du mehrere Domains auf einem Mailserver verwalten willst. Bei den Domains handelt es sich um Domains, die man besitzt, aber nicht t-online.de etc.

Wenn du einfach nur deine e-Mails beim Provider abholen willst, dann benötigst du nur lokale Benutzer, also keine virtuellen und i.d.R. auch keine Aliase.
 
OP
P

padersuse

Hacker
Nehmen wir an wir an, man will Emails abrufen für das Postfach roter.mars@web.de, dann kann ich das über das Script
Code:
poll pop3.web.de proto POP3 user 'roter.mars' password abcd1234
        ssl
        sslfingerprint "49:E7:36:66:55:10:A9:CF:F6:C7:BC:14:03:80:2A:65"
        sslcertck
        sslcertpath /etc/ssl/certs/

Wenn man die empfangenen Emails dem user1, vielleicht später einem anderen user, zuordnen will, ist es dann nicht besser, mit einem Aliasnamen zu arbeiten, außerdem soll das System wissen, dass es für web.de zuständig ist. Mein Einsatzszenario beschreibt, dass auf einem Linux-Server ein "Mailserver" betrieben wird mit postfix und dovecot (als Imap-Variante), der regelmäßig mit fetchmail die Post abholt. Gleichzeitig sollen User an Windows-Clients Zugriff haben auf den "Mailserver" im Hause. Diese User an Windows-Clients sollen Emails im Namen der Firma verschicken können (über den eigenen "Mailserver"), aber auch untereinander.
Wenn man bei meiner komplizierten Konfiguration bleiben will, ist denn dann meine bisherige Konfiguration falsch, bzw. ist es richtig, dass, wenn ich virtuelle Domänen definiere, ich auch mit Aliasnamen arbeiten kann und nicht wie eigentlich vorgesehen mit virtuellen Usern, deren Postfächer in der Datei /etc/postfix/vmailbox definiert sind ? Oder würdest Du es anders machen und wenn ja wie ?
 

spoensche

Moderator
Teammitglied
Wenn du die Mails mit fetchmail beim Provider abholst kannst du diese direkt einem lokalen Mailaccount zuweisen. Mit dem Postfix kannst du mit der sender canonicals angeben, welcher lokale User mit welchen Zugangsdaten bei welchem Provider Mails verschicken kann.
 
Oben