Table of Contents
Dovecot - POP3/IMAP {#Dovecot - POP3/IMAP}
Wir setzen dovecot ein. Dovecot verwendet hier den \'\'\'Maildir\'\'\'-Format in /srv/vmail/USER.
Dieser Speicherformat eignet sich auch gut für Backups, denn:
\'\'Maildir is designed to work without locks. Most required operations are atomic on modern file systems. This means that you do not have to care much about race conditions like inconsistent read. But there are still some issues if you want to backup a Maildir while the mail-server is running.\'\'
Doku dazu in der Dovecot-Wiki/Maildir und auch Diskussion dazu in diesem ServerFault-Thread.
Debugging mit Telnet {#Debugging mit Telnet}
Zum testen ob mailboxen existieren und funktionieren:
telnet efeu.mur.at 25 mail from:<djamil@mur.at> rcpt to:<noc@mur.at> quit
Debugging TLS auf der Commandline IMAP/SMTP {#Debugging TLS auf der Commandline IMAP/SMTP}
Für den TLS-Verbindungsaufbau zuerst openssl verwenden, und dann die IMAP/SMTP-Kommandos zum einloggen:
IMAP {#IMAP}
jogi@pc5 ~ % openssl s_client -connect imap.mur.at:143 -quiet -starttls imap depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root verify error:num=19:self signed certificate in certificate chain verify return:0 . OK Pre-login capabilities listed, post-login capabilities have more. a1 login fischer PASSWORD * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE QUOTA ACL RIGHTS=texk a1 OK Logged in a2 LIST "" "*" * LIST (\HasChildren) "." INBOX * LIST (\HasNoChildren \Drafts) "." INBOX.Drafts * LIST (\HasNoChildren \Trash) "." INBOX.Trash * LIST (\HasNoChildren \Junk) "." INBOX.Junk * LIST (\HasNoChildren \Sent) "." INBOX.Sent * LIST (\HasNoChildren) "." INBOX.Queue * LIST (\Noselect \HasChildren) "." shared * LIST (\HasChildren) "." shared.fischer-office * LIST (\HasNoChildren) "." shared.fischer-office.Trash a2 OK List completed. a3 logout * BYE Logging out a3 OK Logout completed. jogi@pc5 ~ %
SMTP {#SMTP}
murmin@polynom ~ » openssl s_client -connect efeu.mur.at:25 -quiet -starttls smtp depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3 verify return:1 depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 verify return:1 depth=0 CN = efeu.mur.at verify return:1 250 DSN EHLO polynome.mur.at 250-efeu.mur.at 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN MAIL FROM:<rwoz@mur.at> 250 2.1.0 Ok RCPT TO:<rwoz+test@mur.at> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: Testmessage This is a Test :-) . 250 2.0.0 from MTA(smtp:[172.16.16.42]:10042): 250 2.0.0 Ok: queued as 82D613FF49 QUIT 221 2.0.0 Bye murmin@polynom ~ »
shared Mailboxen {#shared Mailboxen}
Nach der Anleitung im Dovecot Wiki konfiguriert.
- Für jede shared Mailbox braucht es eine Gruppe mit dem Namen der Mailbox (zb forum-info, gr-camp,..). Bitte \“sprechende\” Namen verwenden, zb tib- fuer therater im bahnhof. Ausserdem muss unter den Maileinstellungen keine \@mur.at als primäre mailadresse stehen.
<!– –
>
- Die Rechte für USER in der Mailbox SHARED sind in der Datei \'\'\'/srv/vmail/SHARED/Maildir/dovecot-acl\'\'\' zu sehen: user=USER akxeilprwts
Details dazu im Dovecot Wiki.
<
!– –
>
- Zur Anzeige/Manipulation von ACLs sollte \'\'\'doveadm acl\'\'\' verwendet werden.
<
!– –
>
- Komplettes Beispiel für eine shared Mailbox: # Anlegen der shared Mailbox und gleichzeitiges setzen der ACLs root@klee:~# doveadm acl set -u jogi shared.verein user=jogi all
# einen (weiteren) User hinzufügen root@klee:~# doveadm acl add -u jogi shared.verein user=jogi all
# Kontrolle root@klee:~# doveadm acl get -u verein shared.verein ID Global Rights user=almutb admin create delete expunge insert lookup post read write write-deleted write-seen user=jogi admin create delete expunge insert lookup post read write write-deleted write-seen user=renatn admin create delete expunge insert lookup post read write write-deleted write-seen
# debug-Mode root@klee:~# doveadm acl debug -u almutb shared.verein doveadm(almutb): Info: Mailbox 'INBOX' is in namespace 'shared.verein.' doveadm(almutb): Info: Mailbox path: /srv/vmail/verein/Maildir doveadm(almutb): Info: Per-user private flags in mailbox: \Seen doveadm(almutb): Info: User almutb has rights: lookup read write write-seen write-deleted insert post expunge create delete admin doveadm(almutb): Info: Mailbox found from dovecot-acl-list doveadm(almutb): Info: User verein found from ACL shared dict doveadm(almutb): Info: Mailbox shared.verein is visible in LIST
#
## Bugs {#Bugs}
- Das Setzen von Rechten auf shared Mailboxen reicht nicht aus, wenn User_innen auch Unterordner anlegen möchten. Dazu ist zusätzlich ein Eintrag in \'\'\'/etc/dovecot/global-acls\'\'\' nötig: shared.MAILBOXNAME user=USER akxeilprwts