Hi Markus,
On 2017-01-27 Fri 12:24 PM |, Markus Rosjat wrote:
> I dont like the idea of one single virtual user handling all the traffic to
> the maildirectories.
Me neither.
Here, all users have proper shell accounts & SSH access, for mutt, etc.
Stop Dovecot, unmount /var/mail (where mail stays), dump(1). No SQL "spool".
There is no LDAP nor SQL, it is all simple stuff;-
*) The MTA delivers via LMTP to Dovecot - which sieves mail.
(Thunderbird & other mail clients have a sieve plugin.)
*) Users IMAP/POP/SMTP auth via an individual passwd file,
which they change via a script (which calls pwqcheck(1) in ports).
/etc/passwd is _NOT_ used for mail authentication.
(MTA SMTP submission port auth relaying is validated by Dovecot too.)
No webmail; everybody is expected to have their own IMAP/POP/SSH device.
<postmaster@box:~ 0>$ doveconf -n
# 2.2.24 (a82c823): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.14 (099a97c)
# OS: OpenBSD 6.0 i386 ffs
auth_mechanisms = cram-md5 apop
auth_username_format = %Ln
first_valid_uid = 1000
listen = *
mail_location = maildir:/var/mail/%u
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date index ihave duplicate
mime foreverypart extracttext
mbox_write_locks = fcntl
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Archive {
auto = subscribe
special_use = \Archive
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Templates {
auto = subscribe
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /var/dovecot/auth.d/%u/passwd.CRAM-MD5
driver = passwd-file
}
passdb {
args = /var/dovecot/auth.d/%u/passwd.CLEAR
driver = passwd-file
skip = authenticated
}
plugin {
sieve = file:/var/mail/%u/sieve/;active=active.sieve
}
protocols = imap pop3 lmtp sieve
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = _postfix
mode = 0660
user = _postfix
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = _postfix
mode = 0660
user = _postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
ssl = no
userdb {
args = blocking=no
driver = passwd
result_failure = return-fail
}
protocol lmtp {
mail_plugins = " sieve"
postmaster_address = postmaster
}
In the future I hope to be able to deploy OpenSMTPd,
when the filtering & other work has stabilised.
Cheers,
--
Craig Skinner | http://linkd.in/yGqkv7