====== OpenSMTPD ====== Installieren mit: apt install opensmtpd opensmtpd-filter-senderscore mariadb-client mariadb-server Dann die Datei /etc/smtpd.conf anpassen. Meine sieht jetzt so aus: pki "mail.domain.tld" cert "/etc/letsencrypt/live/mail.domain.tld/fullchain.pem" pki "mail.domain.tld" key "/etc/letsencrypt/live/mail.domain.tld/privkey.pem" srs key "lassdirwasschöneseinfallenhier" # internal aliases to root table aliases file:/etc/mail/aliases # External Mails in Database vmail table domains mysql:/etc/mail/mysql.conf table virtuals mysql:/etc/mail/mysql.conf table credentials mysql:/etc/mail/mysql.conf filter check_rdns phase connect match !rdns \ disconnect "550 no rDNS" filter senderscore \ proc-exec "filter-senderscore -junkBelow 70 -slowFactor 5000" filter rspamd proc-exec "filter-rspamd" listen on eth0 tls pki mail.domain.tld filter { senderscore, rspamd, check_rdns } listen on eth0 port 465 smtps pki mail.domain.tld auth filter { rspamd } listen on eth0 port 587 tls-require pki mail.domain.tld auth filter { rspamd } action "local_mail" mbox alias action "domain_mail" maildir "/var/vmail/%{dest.domain:lowercase}/%{dest.user:lowercase}" virtual action "outbound" relay action "RECV" lmtp "/var/run/dovecot/lmtp" rcpt-to virtual # match from any for domain action "domain_mail" match from any for domain action "RECV" match from local for local action "local_mail" match from local for any action "outbound" match auth from any for any action "outbound" Die oben erwähnte /etc/mail/mysql.conf sieht bei mir folgendermasen aus, das muss man dann eben auf sein Datenbankschema anpassen, aber zum dokumentieren der Syntax einmal hier: host localhost username vmail password DatenbankPasswort database vmail query_alias SELECT destination FROM virtuals WHERE email=?; query_credentials SELECT user, password FROM credentials WHERE user=?; query_domain SELECT domain FROM domains WHERE domain=?;