Hallo,
ich habe nun auch gerade nach vier Tagen harter Arbeit verstanden wie so ein Mailserver funktioniert.
Ich habe einige Tipps für dich:
Erstmal möchte ich erläutern was ich verwende:
Debian 3.1 (Sarge)
Postfix + SASL + Cyrus (viele Howtos gehen auf MySQL ein doch dies kommt bei mir nicht zum Einsatz)
Installieret Pakete:
postfix postfix-tls
libsasl2 libsasl2-modul sasl2-bin
cyrus21-common cyrus21-imapd cyrus21-pop3 cyrus21-admin
1. Postfix
Änderungen an der main.cf (Dies ist nicht die Komplette Datei & bitte Variablen anpassen):
myhostname = hostname.domain.tld
mydomain = domain.tld
# Konfiguration der virtuellen Mailboxen und User
#
# Fuer welche Domains und User nehmen wir E-Mails an
virtual_maps = hash:/etc/postfix/virtualUsers, hash:/etc/postfix/localDomains
# LMTP / Die Uebergabe an Cyrus
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
# Wer darf Mails verschicken
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
master.cf (bei folgender Zeile muss das chroot deaktiviert werden damit es mit SASL sprechen kann):
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# =========================================================================
smtp inet n - n - - smtpd
Rechte auf Dateien/ Gruppenzugehörigkeiten:
/etc/group:
mail:x:8:postfix,cyrus
sasl:x:45:postfix,cyrus
/etc/posftix/sasl/smtp.conf
pwcheck_method: saslauthd
mech_list: LOGIN PLAIN
# Log Level von 0-7
log_level:1
/etc/postfix/localDomains (siehe main.cf):
# /etc/postfix/localDomains
domain.tld hostname.domain.tld
example.com hostname.domain.tld
example.net hostname.domain.tld
und ein postmap erstellt den hash (*.db) [man sollte sich hierzu in /etc/postfix/ befinden da sonst der pfad nicht stimmt:
root@host # postmap localDomains
/etc/postfix/virtualUsers:
# /etc/postfix/virtualUsers
# E-Mail-Adressen der Domain domain.tld
# E-Mail-Adresse Zuordnung Cyrus Postfach
********** domainp1
********** domainp1
********** domainp2
# Forwarding (E-Mails werden an die Zugeordnete Adresse geleitet)
********** **********
# E-Mail-Adressen der Domain example.com
# E-Mail-Adresse Zuordnung Cyrus Postfach
********** examplep1
********** examplep2
# Forwarding (E-Mails werden an die Zugeordnete Adresse geleitet)
anna@example .com **********
wieder ein postmap:
root@host # postmap localDomains
2. SASL:
/etc/default/saslauthd:
# SASL soll gestartet werden
START=yes
# Authentifizierungsmechanismus
MECHANISMS="sasldb pam"
User anlegen:
root@host # saslpasswd2 -c domainp1
User löschen:
saslpasswd2 -d domainp1
User anzeigen:
sasldblistusers2
Passwort ändern:
saslpasswd2 domainp1
Passwort prüfen/ Datenbank prüfen:
testsaslauthd -u domainp1 -p passwort -s smtp
3. Cyrus:
Cyrus Passwort zur Administration setzen:
root@host # passwd cyrus
Cyrus in der SASL-Datenbank anlegen:
root@host # saslpasswd2 -c cyrus
/etc/imapd.conf:
admins: cyrus
Cyrus neustarten:
root@host # /etc/init.d/cyrus21 restart
Auf die Cyrus Konsole einloggen:
root@host # cyradm -u cyrus localhost
Anlegen von Mailboxen:
localhost.localdomain> cm user.domainp1
Löschen von Mailboxen:
localhost> sam user.domainp1 cyrus all
localhost> dm user.domainp1
sam = set ACLs on mailbox
user.domainp1 = Mailbox
cyrus = unser User cyrus der die administrative Arbeit vornimmt
all = alle Rechte
4. Alles neu starten:
root@host # /etc/init.d/saslauthd restart
root@host # /etc/init.d/postfix restart
root@host # /etc/init.d/cyrus21 restart
5. MailClient:
Als Name: Eigener Name
(wir nur verwendet um anzuzeigen von wem die Mail ist)
E-Mail-Adresse: **********
Abrufen von Mails
POP3
Protokol: POP oder POP3
Server: name des Servers
(z. B. mail.domain.tld)
Benutername: Zuordung der Mailadresse (das Postfach) z. B. domainp1
IMAP
Protokol: IMAP
Server: name des Servers
(z. B. mail.domain.tld)
Benutername: Zuordung der Mailadresse (das Postfach) z. B. domainp1
Verschicken von Mails
Protokolle: SMTP
Server: name des Servers
(z. B. mail.domain.tld)
Benutername: Zuordung der Mailadresse (das Postfach) z. B. domainp1
Ich hoffe dies hilft. Falls du dies nicht so ganz verstehts (das Thema ist auch sehr komplex/ weiß nicht ob ich alle wichtigen Teile meiner fast 10 Seitigen Doku rauskopiert habe).
Falls es noch zu Problemen kommt schau ich mal ob ich meine Doku als PDF oder so hier posten kann.
Tipp:
immer die Logs beobachten:
tail -f /var/log/mail.log
Bitte nicht blind "copy & paste" verwenden sondern nachdenken. Bei Fragen Fragen!