<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:11.0pt;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Guten Tag,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Guten Tag zusammen,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ich habe gestern den Mailserver unseres Vereins neu aufgesetzt, eine Konstruktion aus<o:p></o:p></p><p class=MsoNormal>Uuntu 24.0.4<o:p></o:p></p><p class=MsoNormal>Postfix version 3.8.6 (on the old server it was 3.4.13)<o:p></o:p></p><p class=MsoNormal>Dovecot 2.3.21<o:p></o:p></p><p class=MsoNormal>MySQL Ver 15.1 Distrib 10.11.8-MariaDB<o:p></o:p></p><p class=MsoNormal>Postfixadmin<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In der alten Umgebung (Ubuntu 20) hat alles funktioniert, in der neuen Umgebung (Ubuntu 24) funktioniert eine Sache nicht, obwohl ich dachte, ich hätte alle Parameter richtig angepasst. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Der Mailserver "my.mail.server" verwaltet z.B. die Domäne „my.domain“. Mail-User and -Aliases sind in einer MySQL-Datenbank hinterlegt. Postfix holt sich dort die Daten und reicht sie mit Hilfe von Dovecot zur gewünschten Zieladresse weiter. Das funktioniert einwandfrei, solange es sich um einen User mit Mailbox auf dem Server handelt:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Query SELECT concat('/vmail/', maildir) as home, concat('maildir:/vmail/', maildir) as mail, 1000 AS uid, 1009 AS gid, CONCAT('*:messages=10000:bytes=', quota) as quota_rule FROM mailbox WHERE username = 'some.user@my.domain' AND active = '1'<o:p></o:p></p><p class=MsoNormal>postfix/lmtp[7636]: CD77E81A0F: to=<some.user@my.domain>, relay=127.0.0.1[127.0.0.1]:24, delay=0.33, delays=0.31/0.01/0.01/0, dsn=2.0.0, status=sent (250 2.0.0 <some.user@my.domain> 5sHdOex9p2fVHQAA7jBDhg Saved)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Wenn es sich aber um ein Alias (Weiterleitung lokal oder extern) handelt, klappt das nicht:<o:p></o:p></p><p class=MsoNormal>Query SELECT concat('/vmail/', maildir) as home, concat('maildir:/vmail/', maildir) as mail, 1000 AS uid, 1009 AS gid, CONCAT('*:messages=10000:bytes=', quota) as quota_rule FROM mailbox WHERE username = 'some.alias@my.domain' AND active = '1'<o:p></o:p></p><p class=MsoNormal>postfix/lmtp[7324]: 3EA9481A40: to=<some.alias@my.domain>, relay=127.0.0.1[127.0.0.1]:24, delay=1.3, delays=1.2/0.01/0.01/0.02, dsn=5.1.1, status=bounced (host 127.0.0.1[127.0.0.1] said: 550 5.1.1 <some.alias@my.domain> User doesn't exist: some.alias@my.domain (in reply to RCPT TO command)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Postfix versucht offenbar, die Mail lokal direkt zuzustellen, obwohl es sich um ein Alias handelt. Ich verstehe die Ursache leider überhaupt nicht, begreife also auch nicht, ob Postfix oder Dovecot den Fehler verursacht.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>dovecot -n<o:p></o:p></p><p class=MsoNormal># Pigeonhole version 0.5.21 (f6cd4b8e)<o:p></o:p></p><p class=MsoNormal># OS: Linux 6.8.0-52-generic x86_64 Ubuntu 24.04.1 LTS <o:p></o:p></p><p class=MsoNormal># Hostname: my.mail.server<o:p></o:p></p><p class=MsoNormal>auth_mechanisms = plain login<o:p></o:p></p><p class=MsoNormal>auth_verbose = yes<o:p></o:p></p><p class=MsoNormal>disable_plaintext_auth = no<o:p></o:p></p><p class=MsoNormal>listen = *<o:p></o:p></p><p class=MsoNormal>log_path = /var/log/dovecot.log<o:p></o:p></p><p class=MsoNormal>mail_location = maildir:~/Maildir<o:p></o:p></p><p class=MsoNormal>mail_privileged_group = mail<o:p></o:p></p><p class=MsoNormal>managesieve_notify_capability = mailto<o:p></o:p></p><p class=MsoNormal>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<o:p></o:p></p><p class=MsoNormal>namespace inbox {<o:p></o:p></p><p class=MsoNormal> inbox = yes<o:p></o:p></p><p class=MsoNormal> location = <o:p></o:p></p><p class=MsoNormal> mailbox Sent {<o:p></o:p></p><p class=MsoNormal> special_use = \Sent<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> mailbox "Sent Messages" {<o:p></o:p></p><p class=MsoNormal> special_use = \Sent<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> mailbox Trash {<o:p></o:p></p><p class=MsoNormal> special_use = \Trash<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> prefix = INBOX/<o:p></o:p></p><p class=MsoNormal> separator = /<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>passdb {<o:p></o:p></p><p class=MsoNormal> args = /etc/dovecot/dovecot-sql.conf.ext<o:p></o:p></p><p class=MsoNormal> driver = sql<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>plugin {<o:p></o:p></p><p class=MsoNormal> sieve = /vmail/%d/%n/.dovecot.sieve<o:p></o:p></p><p class=MsoNormal> sieve_dir = ~/sieve<o:p></o:p></p><p class=MsoNormal> sieve_global_dir = /home/sieve/<o:p></o:p></p><p class=MsoNormal> sieve_global_path = /home/sieve/globalfilter.sieve<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>protocols = " imap lmtp sieve pop3 submission sieve"<o:p></o:p></p><p class=MsoNormal>service auth {<o:p></o:p></p><p class=MsoNormal> unix_listener /var/spool/postfix/private/auth {<o:p></o:p></p><p class=MsoNormal> group = postfix<o:p></o:p></p><p class=MsoNormal> mode = 0666<o:p></o:p></p><p class=MsoNormal> user = postfix<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>service lmtp {<o:p></o:p></p><p class=MsoNormal> inet_listener lmtp {<o:p></o:p></p><p class=MsoNormal> address = 127.0.0.1<o:p></o:p></p><p class=MsoNormal> port = 24<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>service managesieve-login {<o:p></o:p></p><p class=MsoNormal> inet_listener sieve {<o:p></o:p></p><p class=MsoNormal> port = 4190<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> inet_listener sieve_deprecated {<o:p></o:p></p><p class=MsoNormal> port = 2000<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>service submission-login {<o:p></o:p></p><p class=MsoNormal> inet_listener submission {<o:p></o:p></p><p class=MsoNormal> port = 589<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>ssl_cert = </etc/letsencrypt/live/mail.kaestrich.de/fullchain.pem<o:p></o:p></p><p class=MsoNormal>ssl_client_ca_dir = /etc/ssl/certs<o:p></o:p></p><p class=MsoNormal>ssl_dh = # hidden, use -P to show it<o:p></o:p></p><p class=MsoNormal>ssl_key = # hidden, use -P to show it<o:p></o:p></p><p class=MsoNormal>userdb {<o:p></o:p></p><p class=MsoNormal> args = /etc/dovecot/dovecot-sql.conf.ext<o:p></o:p></p><p class=MsoNormal> driver = sql<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>verbose_proctitle = yes<o:p></o:p></p><p class=MsoNormal>protocol lmtp {<o:p></o:p></p><p class=MsoNormal> mail_plugins = " sieve"<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>dovecot-sql.conf<o:p></o:p></p><p class=MsoNormal>driver = mysql<o:p></o:p></p><p class=MsoNormal>connect = host=/var/run/mysqld/mysqld.sock dbname=postfixadmin user=postfixadmin password=[password]<o:p></o:p></p><p class=MsoNormal>password_query = SELECT username as user, password, concat('/vmail/', maildir) as userdb_home, concat('maildir:/vmail/', maildir) as userdb_mail, 1000 as userdb_uid, 1009 as userdb_gid FROM mailbox WHERE username = '%Lu' AND active = '1'<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>main.cf <o:p></o:p></p><p class=MsoNormal>[...]<o:p></o:p></p><p class=MsoNormal>mydestination = $myhostname, localhost.$mydomain, localhost<o:p></o:p></p><p class=MsoNormal>relay_domains = proxy:mysql:/etc/postfix/mysql-relay_domains_maps.cf<o:p></o:p></p><p class=MsoNormal>virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf,<o:p></o:p></p><p class=MsoNormal> regexp:/etc/postfix/virtual_regexp,<o:p></o:p></p><p class=MsoNormal> hash:/etc/postfix/virtual<o:p></o:p></p><p class=MsoNormal>[...]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Vielen Dank für Hilfe!<o:p></o:p></p><p class=MsoNormal>Lothar<o:p></o:p></p></div></body></html>