# postfix / dovecot



## blockhost (16. Aug. 2012)

Hallo zusammen,

ob ich bei euch richtig bin, weiss ich noch nicht, aber nach dem ich das eine oder andere Log gefunden habe, aber nicht fündig geworden bin - habe ich mich entschlossen ein neues Thema aufzumachen!

Ich habe mir Debian 6 und Postfix in Verbindung mit Dovecot eingerichtet. 
Es läuft auch alles und in den Log-Files werden mir keinerlei Fehler  angezeigt. 

Jedoch bei einem Test ob die "lokale" Zustellung eingehender Mails in  die Postfächer funktioniert schlägt es fehl, d.h. ich bekomme keinen Fehler und es kam auch nichts an: :-(

Eingabe der Parameter:

```
echo "Dies ist ein Test ..." | mail -s "Testmail" info@rene-ott.de
```
Könnte ich hier bei euch Unterstützung bekommen?! 

Falls es aus eurer Sicht Fragen gibt, dann bitte nachfragen!

Vielen Dank und Grüße 
René


----------



## Till (17. Aug. 2012)

Welche Zeilen erscheinen im mail.log nachdem Du den obigen Befehl ausgeführt hast?


----------



## blockhost (17. Aug. 2012)

Hallo,

folgende Meldung erscheint nach Absenden der Testnachricht unter /var/log/mail.log

```
Aug 17 23:45:52 Webserver postfix/cleanup[1150]: fatal: dict_open: unsupported dictionary type: has:  Is the postfix-has package installed?
Aug 17 23:45:53 Webserver postfix/master[1070]: warning: process /usr/lib/postfix/cleanup pid 1150 exit status 1
Aug 17 23:45:53 Webserver postfix/master[1070]: warning: /usr/lib/postfix/cleanup: bad command startup -- throttling
```


----------



## Till (18. Aug. 2012)

Du hats bermutlich irgendwo in der main.cf den dictionary type falsch angegeben. Ein gültiget typ ist "hash", Du hast aber irgendwo "has" angegeben.


----------



## blockhost (18. Aug. 2012)

Hallo,

du hattest recht.

Ich hatte statt hash:... has:... geschrieben in der main.cf geschrieben.

Vielen Dank nochmal dafür!

Jetzt bekomme ich aber folgende Meldung in der mail.log:

```
Aug 18 20:13:16 Webserver postfix/pickup[1196]: CBCC25C384: uid=0 from=<root>
Aug 18 20:13:16 Webserver postfix/cleanup[1260]: CBCC25C384: message-id=<20120818181316.CBCC25C384@regfish.rene-ott.de>
Aug 18 20:13:16 Webserver postfix/qmgr[1197]: CBCC25C384: from=<root@rene-ott.de>, size=319, nrcpt=1 (queue active)
Aug 18 20:13:16 Webserver postfix/trivial-rewrite[1262]: warning: do not list domain rene-ott.de in BOTH mydestination and virtual_mailbox_domains
Aug 18 20:13:16 Webserver postfix/local[1263]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Aug 18 20:13:16 Webserver postfix/local[1263]: CBCC25C384: to=<info@rene-ott.de>, relay=local, delay=0.26, delays=0.2/0.03/0/0.03, dsn=5.1.1, status=bounced (unknown user: "info")
Aug 18 20:13:16 Webserver postfix/cleanup[1260]: F13E45C385: message-id=<20120818181316.F13E45C385@regfish.rene-ott.de>
Aug 18 20:13:16 Webserver postfix/qmgr[1197]: F13E45C385: from=<>, size=2049, nrcpt=1 (queue active)
Aug 18 20:13:16 Webserver postfix/bounce[1264]: CBCC25C384: sender non-delivery notification: F13E45C385
Aug 18 20:13:16 Webserver postfix/trivial-rewrite[1262]: warning: do not list domain rene-ott.de in BOTH mydestination and virtual_mailbox_domains
Aug 18 20:13:16 Webserver postfix/qmgr[1197]: CBCC25C384: removed
Aug 18 20:13:17 Webserver postfix/trivial-rewrite[1262]: warning: do not list domain rene-ott.de in BOTH mydestination and virtual_mailbox_domains
Aug 18 20:13:17 Webserver postfix/local[1263]: F13E45C385: to=<debian@rene-ott.de>, orig_to=<root@rene-ott.de>, relay=local, delay=0.02, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Aug 18 20:13:17 Webserver postfix/qmgr[1197]: F13E45C385: removed
```
Folgenden Eintrag dazu habe ich in der main.cf eingetragen:

```
# Hostname und Netzwerk
myhostname = regfish.rene-ott.de
mydomain = rene-ott.de
myorigin = $mydomain
mydestination = $mydomain, localhost
mynetworks = 127.0.0.0/8 192.168.20.0/24
inet_interfaces = all
```
Wüsstest du noch eine Möglichkeit, wo man nachschauen könnte?

Bin für jeden Tippp dankbar.


----------



## F4RR3LL (18. Aug. 2012)

Dein Server ist schlicht verwirrt, zu recht 
mydomain auskommentieren ... und bei mydestination die $mydomain raus... 

Gruß Sven


----------



## blockhost (18. Aug. 2012)

Hallo Sven,

danke für deine Unterstützung.

Mittlerweile hatte ich es auch schon dank google herausgefunden.
Nur warum das so ist, weiss ich bis Dato noch nicht.

Was hat der Parameter mydomain in der main.cf für "Aufgabe" wenn ich diesen jetzt auskommentiere. Doch keine, oder? Wozu musste man ihn dann erst setzen?

Habe mittlerweile eine andere Frage:

```
Aug 18 22:32:21 Webserver postfix/pickup[1077]: D79375C38E: uid=0 from=<root>
Aug 18 22:32:22 Webserver postfix/cleanup[1117]: D79375C38E: message-id=<20120818203221.D79375C38E@regfish.rene-ott.de>
Aug 18 22:32:22 Webserver postfix/qmgr[1078]: D79375C38E: from=<root@rene-ott.de>, size=319, nrcpt=1 (queue active)
Aug 18 22:32:22 Webserver postfix/pipe[1119]: D79375C38E: to=<info@rene-ott.de>, relay=dovecot, delay=0.49, delays=0.43/0.01/0/0.05, dsn=4.3.0, status=deferred (temporary failure. Command output: Can't open log file /var/log/dovecot: Permission denied )
```
Ich bin noch Anfänger, aber ich sage mir immer.
Müsam ernährt sich das Eichhörnchen. Und alle antworten findet man auch in den Büchern nicht. 

Grüße
René


----------



## F4RR3LL (19. Aug. 2012)

Nach welcher Anleitung hast Du es denn eingerichtet?
Mir schaut das nach dem Fehler in der /etc/postfix/master.cf aus....
dort die zwei Zeilen mit dovecot...
Poste mal zum Link der Anleitung deine master.cf

Achja und das mit mydomain liegt einfach daran, das Du postfix mit virtuellen Domains betreibst und wenn eine Domain bei den virtuellen schon verwendet wird dann aber auch bei mydomain (locale Domain) benutzt wird geht es halt nicht. Man muss sich entscheiden entweder so oder so....

Gruß Sven


----------



## blockhost (19. Aug. 2012)

Hallo Sven,

anbei mal der Link zur Anleitung:
	
	



```
http://www.cbjck.de/2011/05/ein-eigener-mailserver-teil2-dovecot/
```
Danke für die Aufklärung von mydomain und virtuelle Domain.

Anbei hier meine eingefügten Zeile in der master.cf:

```
dovecot   unix    -    n    n    -    -    pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d 
  ${recipient}
```
Grüsse
René


----------



## F4RR3LL (19. Aug. 2012)

das schaut ok aus,
hast Du geschaut ob bei Dir die Datei /var/log/dovecot besteht und auch mit den richtigen Rechten versehen ist...

Sprich diese Passage im Howto:

```
usermod -aG vmail postfix
touch /var/log/dovecot
chgrp vmail /var/log/dovecot
chmod 660 /var/log/dovecot
```
? 
Gruß Sven


----------



## blockhost (19. Aug. 2012)

Guten Abend Sven,

erstmal ein ganz großes Lob an dich für deine großartige und gute Unterstützung. 

Danke für die Info.
Hätte ich auch selber darauf kommen können.

Habe nämlich alle Dateien unter /var/log manuell rausgelöscht.

Und beim neustarten war die Datei natürlich wieder da, nur hatte ich da nicht auf die Rechte geschaut.

Jetzt mekkert er mir unter /var/log/mail.log den User an:

```
Aug 19 21:50:39 Webserver postfix/pipe[1157]: 1F6355C384: to=<info@rene-ott.de>, relay=dovecot, delay=84342, delays=84342/0.02/0/0.02, dsn=5.1.1, status=bounced (user unknown)
Aug 19 21:50:39 Webserver postfix/cleanup[1148]: 1C2115C387: message-id=<20120819195039.1C2115C387@regfish.rene-ott.de>
Aug 19 21:50:39 Webserver postfix/qmgr[1076]: 1C2115C387: from=<>, size=2030, nrcpt=1 (queue active)
Aug 19 21:50:39 Webserver postfix/bounce[1154]: 1F6355C384: sender non-delivery notification: 1C2115C387
Aug 19 21:50:39 Webserver postfix/qmgr[1076]: 1F6355C384: removed
```
Unter /etc/passwd ist der Benutzer "info" auch nicht aufgebaut.

Unter /var/log/dovecot bekomme ich die Aussage, dass die Passwortdatei nicht vorhanden ist:

```
2012-08-19 21:50:39 auth(default): Info: master in: USER    1    root@rene-ott.de    service=deliver
2012-08-19 21:50:39 auth(default): Info: passwd(root@rene-ott.de): lookup
2012-08-19 21:50:39 auth(default): Info: passwd(root@rene-ott.de): unknown user
2012-08-19 21:50:39 auth(default): Info: passwd-file(root@rene-ott.de): no passwd file: /var/mail/vhosts/rene-ott.de/passwd
2012-08-19 21:50:39 auth(default): Info: master out: NOTFOUND    1
```
Unter dem angegebenen Pfad /var/mail/vhosts/rene-ott.de/passwd befindet sich auch keine Datei, da das Verzeichnis passwd schon gar nicht existiert.

Das Anlegen des Verzeichnisses und der Datei stellt ja kein Problem da, aber wie muss ich soll eine psswd-Datei konfigurieren, damit auch der richtige Inhalt erscheint?

Weisst du da ne gute seite wo man nachlesen kann?

Vielen Dank und Grüße
René


----------



## F4RR3LL (20. Aug. 2012)

also unter /etc/passwd wirst Du den User *info* richtigerweise auch nicht finden. 
Du arbeitest ja mit virtuellen Usern.
Die Datei /var/vmail/* * * /passwd wird bei Dir über das Script /usr/local/bin/addmailuser angelegt wenn Du neue User wie beschrieben hinzufügst.
Ich bin das Howto grade mal zum Spaß durchgegangen auf einem Testserver, es funktioniert alles 1a. Auch wenn ich die Ordnerstruktur teilweise falsch finde. Aber das ist ja egal und tut der Funktionalität keinen Abbruch. 
Am besten gehst Du das Howto nochmal Punkt für Punkt durch (auf keinen Fall mit irgendwelchen anderen Howtos mixxen das wird Caos). Es ist eigentlich alles beschrieben auch bzgl deiner Fragen.
Und unterlasse das rumlöschen in /var/log wenn Du nicht genau weißt was Du da tust merkst Du ja das das zu Caos führt 

Gruß Sven

//Edit: Ich empfehle Dir Dich auf http://de.postfix.org und http://dovecot.org einzulesen. Dann werden die Zusammenhänge klarer.


----------



## blockhost (20. Aug. 2012)

Hallo Sven,

danke für die Links.

Es ist wie mit kleinen Kindern, alles haben wollen, aber minimalen aufwand betreiben. 

Wenn ich das How To richtig gelesen hätte, dann wären mir diese Fehler erspart geblieben.

Ich wünsche dir noch einen schönen Abend!


----------



## nowayback (21. Aug. 2012)

hi,

unabhängig davon ob es bei dir nun funktioniert oder nicht: was spricht gegen den Einsatz von ISPConfig?

Ich meine, du brauchst früher oder später auch separate Web verzeichnisse, ftp user etc... 

Warum dann nicht ne all-inkl. lösung nutzen, die auch nix kostet? 

Soll aber nur nen Denkanstoß sein 

Grüße
nwb


----------



## blockhost (22. Aug. 2012)

Hallo nwb,

dein Denkanstoss ist in Ordnung, aber ehrlich gesagt habe ich mir darüber voerst noch keinen Kopf gemacht. ;-)

Vielleicht kann mir einer von euch weiterhelfen:
Bekomme beim empfangen von Nachrichten folgende Meldung unter /var/log/dovecot:
	
	



```
2012-08-22 08:26:04 auth(default): Info: master in: USER    1    info@rene-ott.de    service=deliver
2012-08-22 08:26:04 auth(default): Info: passwd(info@rene-ott.de): lookup
2012-08-22 08:26:04 auth(default): Info: passwd(info@rene-ott.de): unknown user
2012-08-22 08:26:04 auth(default): Info: passwd-file /var/mail/vhosts/rene-ott.de/passwd: Read 1 users
2012-08-22 08:26:04 auth(default): Info: passwd-file(info@rene-ott.de): lookup: user=info@rene-ott.de file=/var/mail/vhosts/rene-ott.de/passwd
2012-08-22 08:26:04 auth(default): Info: master out: USER    1    info@rene-ott.de    uid=5000    gid=5000    home=/var/mail/vhosts/rene-ott.de/info
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: auth input: uid=5000
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: auth input: gid=5000
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: auth input: home=/var/mail/vhosts/rene-ott.de/info
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: maildir: data=/var/mail/vhosts/rene-ott.de/info
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: maildir++: root=/var/mail/vhosts/rene-ott.de/info, index=, control=, inbox=/var/mail/vhosts/rene-ott.de/info
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: Namespace : Using permissions from /var/mail/vhosts/rene-ott.de/info: mode=0700 gid=-1
2012-08-22 08:26:04 deliver(info@rene-ott.de): Info: msgid=<20120822062604.4EC1D5C117@regfish.rene-ott.de>: saved mail to INBOX
```
Kann mir einer erklären, was mir dieses Zeilen sagen wollen:

```
2012-08-22 08:26:04 auth(default): Info: passwd(info@rene-ott.de): lookup
2012-08-22 08:26:04 auth(default): Info: passwd(info@rene-ott.de): unknown user
```
Unter /var/log/mail.log steht folgender Kontext dazu:

```
Aug 22 08:26:04 Webserver postfix/pickup[1335]: 4EC1D5C117: uid=33 from=<www-data>
Aug 22 08:26:04 Webserver postfix/cleanup[1355]: 4EC1D5C117: message-id=<20120822062604.4EC1D5C117@regfish.rene-ott.de>
Aug 22 08:26:04 Webserver postfix/qmgr[1046]: 4EC1D5C117: from=<www-data@rene-ott.de>, size=1019, nrcpt=1 (queue active)
Aug 22 08:26:04 Webserver postfix/pipe[1358]: 4EC1D5C117: to=<info@rene-ott.de>, relay=dovecot, delay=0.59, delays=0.47/0.01/0/0.11, dsn=2.0.0, status=sent (delivered via dovecot service)
Aug 22 08:26:04 Webserver postfix/qmgr[1046]: 4EC1D5C117: removed
```
Grüße
René


----------



## Till (22. Aug. 2012)

Wahrscheinlich hast Du in Deiner Dovecot Konfiguration mehrere Authentifizierungsmechanismen aktiviert die bei einer Anfrage nacheinander abgefragt werden. unter anderem scheint Authentifizierung über /etc/passwd aktiv zu sein, welche bei einem virtuellen user setup an sich garnicht verwendet wird.


----------



## blockhost (24. Aug. 2012)

Hallo Till,

Problem konnte gelöst werden.

Ich habe die dovecot.conf komplett überarbeitet.

Jetzt bekomme ich keine Fehlermeldungen mehr! 

Anbei die überarbeitete dovecot.conf:

```
# Verwendete Protokolle
protocols = imap imaps pop3 pop3s

# auf welchen Ports lauscht Dovecot (IPv4=*=Alle Interface)
listen = *

# Authentifizierungsmethode plain
disable_plaintext_auth = yes

# Logdateien
log_path = /var/log/dovecot
log_timestamp = "%Y-%m-%d %H:%M:%S "

# Verwendetes SSL-Zertifikat
ssl_cert_file = /etc/ssl/certs/cert.pem
ssl_key_file = /etc/ssl/private/key.pem

# Mailpostfach
# %d für das Domain-Verzeichnis | %n für das Benutzerverzeichnis
mail_location = maildir:/var/mail/vhosts/%d/%n

# Mail Gruppe
mail_privileged_group = mail

# Debugging
# warum Dovecot die Mails nicht finden kann  
mail_debug = yes

# Verzeichnis der ausfuehrbaren Dateien bei Mail-Abholung mit pop3
protocol pop3 {
    # Outlook 2003 Einstellung
    pop3_uidl_format = %08Xu%08Xv
}

# Mail-Zustellung
protocol lda {
    postmaster_address =postmaster@rene-ott.de
    mail_plugin_dir = /usr/lib/dovecot/modules/lda
    auth_socket_path = /var/run/dovecot/auth-master
}

# Authentifizierung
auth_verbose = yes
auth_debug = yes

auth default {
    mechanisms = plain login

    passdb passwd-file {
        args = /var/mail/vhosts/%d/shadow
    }
    
    userdb passwd-file {
        args = /var/mail/vhosts/%d/passwd
    }

    # User fuer Zugriff auf Benutzer- und Passwortdatenbank
    user = root

    # SASL-Authentfizierung
    socket listen {
        master {
            path = /var/run/dovecot/auth-master
            mode = 0600
            user = vmail 
            group = vmail 
        }
        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = vmail
        }
    }    
}
```
Die dazugehörige postfix main.cf:

```
# allgemeine Einstellungen
biff = no
smtp_banner = $myhostname ESMTP (Debian / GNU)
append_dot_mydomain = no
recipient_delimiter = +
readme_directory = no
unknown_local_recipient_reject_code = 550

# Hostname und Netzwerk
myhostname = regfish.rene-ott.de
#mydomain = rene-ott.de
#myorigin = $mydomain
mydestination = localhost
mynetworks = 127.0.0.0/8 192.168.20.0/24
inet_interfaces = all
#relayhost = 

# virtuelle Domains und Mailboxen
virtual_mailbox_domains = /etc/postfix/virtual_domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailboxes
virtual_alias_maps = hash:/etc/postfix/virtual_aliases
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
mailbox_size_limit = 0

# Authentfizierung
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomain
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/cert.pem
smtpd_tls_key_file = /etc/ssl/private/key.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_recieved_header = yes
tls_random_source = dev:/dev/urandom
```
Beim Mailempfang in der mail.log:

```
Aug 24 09:31:07 Webserver postfix/pickup[1042]: C3EC75C11C: uid=33 from=<www-data>
Aug 24 09:31:08 Webserver postfix/cleanup[1105]: C3EC75C11C: message-id=<20120824073107.C3EC75C11C@regfish.rene-ott.de>
Aug 24 09:31:08 Webserver postfix/qmgr[1043]: C3EC75C11C: from=<www-data@regfish.rene-ott.de>, size=1038, nrcpt=1 (queue active)
Aug 24 09:31:08 Webserver postfix/pipe[1108]: C3EC75C11C: to=<info@rene-ott.de>, relay=dovecot, delay=0.7, delays=0.51/0.01/0/0.18, dsn=2.0.0, status=sent (delivered via dovecot service)
Aug 24 09:31:08 Webserver postfix/qmgr[1043]: C3EC75C11C: removed
```
Der Auszug aus der dovecot:

```
2012-08-24 09:31:08 auth(default): Info: master in: USER    1    info@rene-ott.de    service=deliver
2012-08-24 09:31:08 auth(default): Info: passwd-file /var/mail/vhosts/rene-ott.de/passwd: Read 1 users
2012-08-24 09:31:08 auth(default): Info: passwd-file(info@rene-ott.de): lookup: user=info@rene-ott.de file=/var/mail/vhosts/rene-ott.de/passwd
2012-08-24 09:31:08 auth(default): Info: master out: USER    1    info@rene-ott.de    uid=5000    gid=5000    home=/var/mail/vhosts/rene-ott.de/info
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: auth input: uid=5000
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: auth input: gid=5000
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: auth input: home=/var/mail/vhosts/rene-ott.de/info
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: maildir: data=/var/mail/vhosts/rene-ott.de/info
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: maildir++: root=/var/mail/vhosts/rene-ott.de/info, index=, control=, inbox=/var/mail/vhosts/rene-ott.de/info
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: Namespace : Using permissions from /var/mail/vhosts/rene-ott.de/info: mode=0700 gid=-1
2012-08-24 09:31:08 deliver(info@rene-ott.de): Info: msgid=<20120824073107.C3EC75C11C@regfish.rene-ott.de>: saved mail to INBOX
```


----------



## blockhost (26. Aug. 2012)

Hallo Forenmitglieder,

Nachrichten die mir über mein Kontaktformular von der Webseite geschrieben werden bekomme ich zugestellt.

Wie kann ich jetzt bewerkstelligen, das mir auch Nachrichten direkt an  meine E-Mail-Adresse zugestellt werden ohne den Umweg auf meine Webseite  machen zu müssen? 

Vielen Dank im voraus für eure Unterstützung!


----------



## F4RR3LL (27. Aug. 2012)

Wenn Dein Server laut Howto sauber eingerichtet ist, der User an den die Email geschickt wird auch als virtueller User angelegt ist, der mx-record für die Domain richtig gesetzt ist und Port25 offen ist, ja dann sollten die Mails auch ganz normal ankommen. 
Wenn dem nicht so ist brauchts wieder Sendeversuch + Logfile vom Server.

Gruß Sven


----------



## blockhost (27. Aug. 2012)

Hallo Sven,

ich bin schon der Meinung, dass ich alles habe richtig eingetragen.

Anbei die Meldung aus der mail.log:

```
Aug 27 23:02:40 Webserver postfix/smtpd[1150]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Aug 27 23:02:40 Webserver postfix/smtpd[1150]: connect from host-xxx.customer.m-online.net[xxx]
Aug 27 23:02:40 Webserver postfix/smtpd[1150]: NOQUEUE: reject: RCPT from host-xxx.customer.m-online.net[xxx]: 554 5.7.1 <test@freenet.de>: Relay access denied; from=<info@rene-ott.de> to=<test@freenet.de> proto=ESMTP helo=<[192.168.20.10]>
Aug 27 23:02:48 Webserver postfix/smtpd[1150]: disconnect from host-xxx.customer.m-online.net[xxx]
```
Grüße
René


----------

