Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

postfix lehnt Annahme lokaler E-Mails ab - User unknown in local recipient table.

277 views
Skip to first unread message

Anton Blau

unread,
May 5, 2020, 5:09:46 PM5/5/20
to
Hallo,

mein postfix nimmt E-Mails an, die er an dem Smarthost (mail.gmx.net als
smarthost) weiterleitet, er verweigert aber die Annahme von E-Mails, die
er an die bestehenden lokalen Postfächer zustellen soll mit dieser
Fehlermeldung:


550 5.1.1 <av...@firstmail.locallan>: Recipient address rejected: User
unknown in local recipient table.
Bitte überprüfen Sie die E-Mail-Adresse des Empfängers
"av...@firstmail.locallan" und wiederholen Sie den Vorgang.


Postfix ist per lda an dovecot angebunden. In dovecot sind die
(virtuellen) user in /etc/dovecot/users angelegt. Nach meinem
Verständnis sollte postfix per lda die lokalen user bei dovecot abfragen
- oder? Das klappt wohl irgendwie nicht.

Woran liegt das?


Vielen Dank im Voraus!

Tony


Postfix-Konfiguration: postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
inet_interfaces = all
inet_protocols = all
mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf
-m "${EXTENSION}"
mailbox_size_limit = 0
mydestination = firstmail.locallan localhost.locallan localhost *.locallan
mynetworks = 127.0.0.0/8, 192.168.0.0/24, 192.168.1.0/24,
192.168.3.0/24, 192.168.4.0/24, 192.168.10.0/24
myorigin = /etc/mailname
recipient_delimiter = +
relayhost = mail.gmx.net:587
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent
smtp_connection_cache_on_demand = no
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_security_options = noanonymous
smtp_sender_dependent_authentication = yes
smtp_tls_security_level = encrypt
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_unknown_recipient_domain, reject_unauth_pipelining,
permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/dovecot/private/dovecot.pem
smtpd_tls_key_file = /etc/dovecot/private/dovecot.key
smtpd_tls_received_header = yes
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom



Dovecot-Konfiguration: doveconf -N
# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 5.3.18-3-pve x86_64 Ubuntu 18.04.4 LTS zfs
auth_debug_passwords = yes
auth_mechanisms = plain
auth_verbose = yes
auth_verbose_passwords = yes
log_timestamp = "%b %d %H:%M:%S "
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
mail_location = maildir:/var/vmail/mail/%u:INDEX=/var/vmail/index/%u
mail_plugins = notify mail_log
mail_privileged_group = vmail
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
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
subscriptions = yes
type = private
}
passdb {
driver = pam
name =
}
passdb {
args = scheme=CRYPT username_format=%u /etc/dovecot/users
driver = passwd-file
name =
}
plugin {
sieve = file:~/sieve;active=~/.dovecot.sieve
}
protocols = " imap sieve"
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl = yes
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = # hidden, use -P to show it
userdb {
driver = passwd
name =
}
userdb {
args = username_format=%u /etc/dovecot/users
driver = passwd-file
name =
}
verbose_proctitle = yes
protocol lda {
deliver_log_format = msgid=%m: %$
mail_plugins = notify mail_log sieve
postmaster_address = postmaster
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}





Hier die vollständige /var/log/syslog

May 5 22:38:15 firstmail dovecot: auth: Debug: auth client connected
(pid=1384)
May 5 22:38:15 firstmail dovecot: auth: Debug: client in:
AUTH#0111#011PLAIN#011service=imap#011secured#011session=3VmDoOyk1OPAqAEB#011lip=192.168.3.210#011rip=192.168.1.1#011lport=143#011rport=58324#011local_name=firstmail.locallan
May 5 22:38:15 firstmail dovecot: auth: Debug: client passdb out: CONT#0111
May 5 22:38:15 firstmail dovecot: auth: Debug: client in:
CONT#0111#011AGRlYmlhbkBmaXJzdG1haWwuZHVjawBEaWVzZXMzNDVpbWFwcG9zdGZhY2g3NTZpc3RzaWNoZXIkJA==
(previous base64 data may contain sensitive data)
May 5 22:38:15 firstmail dovecot: auth-worker(1380): Debug:
pam(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>): lookup
service=dovecot
May 5 22:38:15 firstmail dovecot: auth-worker(1380): Debug:
pam(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>): #1/1
style=1 msg=Password:
May 5 22:38:17 firstmail dovecot: auth-worker(1380):
pam(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>):
pam_authenticate() failed: Authentication failure (password mismatch?)
(given password: Dieses345imappostfach756istsicher$$)
May 5 22:38:17 firstmail dovecot: auth: Debug:
passwd-file(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>):
lookup: user=deb...@firstmail.locallan file=/etc/dovecot/users
May 5 22:38:17 firstmail dovecot: auth: Debug: client passdb out:
OK#0111#011user=deb...@firstmail.locallan
May 5 22:38:17 firstmail dovecot: auth: Debug: master in:
REQUEST#011470155265#0111384#0111#011463b6741c67e08393442232faf442c18#011session_pid=1385#011request_auth_token
May 5 22:38:17 firstmail dovecot: auth-worker(1380): Debug:
passwd(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>): lookup
May 5 22:38:17 firstmail dovecot: auth-worker(1380):
passwd(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>):
unknown user - trying the next userdb
May 5 22:38:17 firstmail dovecot: auth: Debug:
passwd-file(deb...@firstmail.locallan,192.168.1.1,<3VmDoOyk1OPAqAEB>):
lookup: user=deb...@firstmail.locallan file=/etc/dovecot/users
May 5 22:38:17 firstmail dovecot: auth: Debug: master userdb out:
USER#011470155265#011d...@firstmail.locallan#011uid=5003#011gid=5000#011home=/var/vmail/mail/firstmail.locallan/debian#011auth_token=f98fb0f11addb9c290eb765d735947ddcbb90505
May 5 22:38:17 firstmail dovecot: imap-login: Login:
user=<deb...@firstmail.locallan>, method=PLAIN, rip=192.168.1.1,
lip=192.168.3.210, mpid=1385, TLS
May 5 22:38:39 firstmail postfix/smtpd[1386]: connect from
unknown[192.168.1.1]
May 5 22:38:39 firstmail dovecot: auth: Debug: auth client connected
(pid=0)
May 5 22:38:40 firstmail dovecot: auth: Debug: client in:
AUTH#0111#011PLAIN#011service=smtp#011nologin#011lip=192.168.3.210#011rip=192.168.1.1#011secured#011resp=AGRlYmlhbkBmaXJzdG1haWwuZHVjawBEaWVzZXMzNDVpbWFwcG9zdGZhY2g3NTZpc3RzaWNoZXIkJA==
(previous base64 data may contain sensitive data)
May 5 22:38:40 firstmail dovecot: auth-worker(1380): Debug:
pam(deb...@firstmail.locallan,192.168.1.1): lookup service=dovecot
May 5 22:38:40 firstmail dovecot: auth-worker(1380): Debug:
pam(deb...@firstmail.locallan,192.168.1.1): #1/1 style=1 msg=Password:
May 5 22:38:42 firstmail dovecot: auth-worker(1380):
pam(deb...@firstmail.locallan,192.168.1.1): pam_authenticate() failed:
Authentication failure (password mismatch?) (given password:
Dieses345imappostfach756istsicher$$)
May 5 22:38:42 firstmail dovecot: auth: Debug:
passwd-file(deb...@firstmail.locallan,192.168.1.1): lookup:
user=deb...@firstmail.locallan file=/etc/dovecot/users
May 5 22:38:42 firstmail dovecot: auth: Debug: client passdb out:
OK#0111#011user=deb...@firstmail.locallan
May 5 22:38:42 firstmail postfix/smtpd[1386]: NOQUEUE: reject: RCPT
from unknown[192.168.1.1]: 550 5.1.1 <deb...@firstmail.locallan>:
Recipient address rejected: User unknown in local recipient table;
from=<test.test...@gmx.de> to=<deb...@firstmail.locallan>
proto=ESMTP helo=<[192.168.1.1]>
May 5 22:39:12 firstmail postfix/smtpd[1386]: disconnect from
unknown[192.168.1.1] ehlo=2 starttls=1 auth=1 mail=1 rcpt=0/1 quit=1
commands=6/7

Tim Ritberg

unread,
May 5, 2020, 5:23:10 PM5/5/20
to
Am 05.05.20 um 23:09 schrieb Anton Blau:
> Hallo,
>
> mein postfix nimmt E-Mails an, die er an dem Smarthost (mail.gmx.net als
> smarthost) weiterleitet, er verweigert aber die Annahme von E-Mails, die
> er an die bestehenden lokalen Postfächer zustellen soll mit dieser
> Fehlermeldung:
>
>
> 550 5.1.1 <av...@firstmail.locallan>: Recipient address rejected: User
> unknown in local recipient table.
>  Bitte überprüfen Sie die E-Mail-Adresse des Empfängers
> "av...@firstmail.locallan" und wiederholen Sie den Vorgang.
>
>
> Postfix ist per lda an dovecot angebunden. In dovecot sind die
> (virtuellen) user in /etc/dovecot/users angelegt. Nach meinem
> Verständnis sollte postfix per lda die lokalen user bei dovecot abfragen
> - oder? Das klappt wohl irgendwie nicht.
>
> Woran liegt das?
>
>
> Vielen Dank im Voraus!
>
> Tony


Ich hatte auch mal so ein Setup, aber so:
mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"

Für dein Szenario dürfte es aber viele Howtos geben.

Tim

Anton Blau

unread,
May 5, 2020, 6:01:54 PM5/5/20
to
Am 05.05.2020 um 23:23 schrieb Tim Ritberg:
> Am 05.05.20 um 23:09 schrieb Anton Blau:

>
>
> Ich hatte auch mal so ein Setup, aber so:
> mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
>
Vielen Dank für den Tipp. Postfix nimmt aber die lokalen E-Mails leider
immer noch nicht an und antwortet mit der gleichen Fehlermeldung.

Kann ich am Postfix irgendwie die lokalen User abfragen um vielleicht
den Fehler nächer einzugrenzen?

Vielen Dank!

tony


Arno Welzel

unread,
May 5, 2020, 6:26:26 PM5/5/20
to
Anton Blau:

> mein postfix nimmt E-Mails an, die er an dem Smarthost (mail.gmx.net als
> smarthost) weiterleitet, er verweigert aber die Annahme von E-Mails, die
> er an die bestehenden lokalen Postfächer zustellen soll mit dieser
> Fehlermeldung:
>
>
> 550 5.1.1 <av...@firstmail.locallan>: Recipient address rejected: User
> unknown in local recipient table.
> Bitte überprüfen Sie die E-Mail-Adresse des Empfängers
> "av...@firstmail.locallan" und wiederholen Sie den Vorgang.
>
>
> Postfix ist per lda an dovecot angebunden. In dovecot sind die
> (virtuellen) user in /etc/dovecot/users angelegt. Nach meinem
> Verständnis sollte postfix per lda die lokalen user bei dovecot abfragen
> - oder? Das klappt wohl irgendwie nicht.

Nein, Postfix muss die User schon selbst kennen, auch wenn Mails an
Dovecot weiterleitet.

Konkret müssen Postfix *und* Dovecot die Empfängeradressen kennen.
Postfix, um zu entscheiden, ob er eine E-Mail überhaupt annehmen will
und Dovecot, um dann zu entscheiden, wo er die Mail ablegen soll.

--
Arno Welzel
https://arnowelzel.de

Arno Welzel

unread,
May 5, 2020, 6:28:13 PM5/5/20
to
Anton Blau:
Woher kommen denn die Adressen, die Dovecot kennt? Am einfachsten wäre
es, genau das auch bei Postfix bekannt zu machen - wie genau, hängt aber
von deiner Konfiguration ab. Das kann eine Map sein, eine
Datenbankabfrage usw.

Anton Blau

unread,
May 5, 2020, 6:41:54 PM5/5/20
to
Am 06.05.2020 um 00:26 schrieb Arno Welzel:
> Anton Blau:
>

>
> Nein, Postfix muss die User schon selbst kennen, auch wenn Mails an
> Dovecot weiterleitet.
>
> Konkret müssen Postfix *und* Dovecot die Empfängeradressen kennen.
> Postfix, um zu entscheiden, ob er eine E-Mail überhaupt annehmen will
> und Dovecot, um dann zu entscheiden, wo er die Mail ablegen soll.
>

O. K. dann war ich hier mit meinem Verständnis wohl auf dem falschen Weg.

Dovecot hat die User unter /etc/dovecot/users im Format

deb...@firstmail.locallan:{SHA512-CRYPT}---snip
---:5003:5000::/var/vmail/mail/deb...@firstmail.locallan:
av...@firstmail.duck:{SHA512-CRYPT}---snip---:5004:5000::/var/vmail/mail/av...@firstmail.locallan:


abgelegt.

Wie teile ich postfix denn die (virtuellen) lokalen Empfängeradressen mit?

Vielen Dank!


Tony

Anton Blau

unread,
May 5, 2020, 6:53:29 PM5/5/20
to
Noch eine Verständnisfrage: Was macht denn die lda-Anbindung von Postfix
und Dovecot? Ich dachte, darüber werden die Daten der lokalen
(virtuellen) User ausgetauscht.

Arno Welzel

unread,
May 5, 2020, 7:57:27 PM5/5/20
to
Anton Blau:

> Am 06.05.2020 um 00:41 schrieb Anton Blau:
>> Am 06.05.2020 um 00:26 schrieb Arno Welzel:
[...]
>>> Konkret müssen Postfix *und* Dovecot die Empfängeradressen kennen.
>>> Postfix, um zu entscheiden, ob er eine E-Mail überhaupt annehmen will
>>> und Dovecot, um dann zu entscheiden, wo er die Mail ablegen soll.
>>>
>>
>> O. K. dann war ich hier mit meinem Verständnis wohl auf dem falschen Weg.
>>
>> Dovecot hat die User unter /etc/dovecot/users im Format
>>
>> deb...@firstmail.locallan:{SHA512-CRYPT}---snip
>> ---:5003:5000::/var/vmail/mail/deb...@firstmail.locallan:
>> av...@firstmail.duck:{SHA512-CRYPT}---snip---:5004:5000::/var/vmail/mail/av...@firstmail.locallan:
>>
>>
>>
>> abgelegt.
>>
>> Wie teile ich postfix denn die (virtuellen) lokalen Empfängeradressen mit?

Genauso - mit einer Liste von Adressen, die dann als Map eingebunden wird:

<http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox>

> Noch eine Verständnisfrage: Was macht denn die lda-Anbindung von Postfix
> und Dovecot? Ich dachte, darüber werden die Daten der lokalen
> (virtuellen) User ausgetauscht.

Nein, lda steht für "local delivery agent". Darüber wird nur die
Auslieferung der Mails von Postfix an Dovecot geregelt.

Siehe auch hier: <https://wiki.dovecot.org/LDA/Postfix>

Ich würde LDA auch nicht mehr verwenden, sondern gleich LMTP benutzen,
also die direkte Kommunikation von Postfix mit Dovecot über einen
lokalen Socket - denn LDA startet für *jede* E-Mail den LDA als Prozess.

Zu LTMP siehe auch:
<https://doc.dovecot.org/configuration_manual/protocols/lmtp_server/>

Um die Konfiguration zu vereinfachen, halte ich die User in einer
Datenbank vor und richte Postfix und Dovecot so ein, dass sie beide die
selbe Datenbank abfragen.

Siehe dazu auch:

<http://www.postfix.org/MYSQL_README.html>

<https://doc.dovecot.org/configuration_manual/authentication/sql/>

David Seppi

unread,
May 10, 2020, 9:54:31 AM5/10/20
to
Arno Welzel schrieb:

> Nein, Postfix muss die User schon selbst kennen, auch wenn Mails an
> Dovecot weiterleitet.
>
> Konkret müssen Postfix *und* Dovecot die Empfängeradressen kennen.
> Postfix, um zu entscheiden, ob er eine E-Mail überhaupt annehmen will
> und Dovecot, um dann zu entscheiden, wo er die Mail ablegen soll.

Das ist nicht der Fall. Postfix kann auch einfach per LMTP bei Dovecot
anfragen ob die Empfängeradresse existiert. BTDT.
Siehe "Dynamic address verification with LMTP" in
https://wiki.dovecot.org/HowTo/PostfixDovecotLMTP

--
David Seppi
1220 Wien

Arno Welzel

unread,
May 10, 2020, 5:18:28 PM5/10/20
to
David Seppi:
Korrekt - aber im OP wurde nichts von LMTP gesagt, sondern nur die
Weiterleitung per "mailbox_command" gemacht.
0 new messages