Lutz3D
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
Hallo Zusammen, ich bin gerade dabei meinen Mailserver fertig zu stellen. Der Versand der Mails funktioniert soweit, allerdings erhalte ich beim Empfang mit Fetchmail folgende Fehlermeldung in /var/log/mail.log | Mar 30 12:54:22 server1 postfix/smtpd[1567]: connect from localhost[127.0.0.1]
Mar 30 12:54:22 server1 postfix/smtpd[1567]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <andre@localhost>: Recipient address rejected: User unknown in local recipient table; from=<xyz@googlemail.com> to=<andre@localhost> proto=ESMTP helo=<server1>
Mar 30 12:54:22 server1 fetchmail[1529]: Nachricht andre@xyz.com@imap.1und1.de:2 von 2 wird gelesen (3069 Bytes im Nachrichtenkopf) (Log-Meldung unvollständig)
Mar 30 12:54:22 server1 fetchmail[1529]: SMTP-Fehler: 550 5.1.1 <andre@localhost>: Recipient address rejected: User unknown in local recipient table
|
Wie ihr seht versuche ich ne Mail von xyz@googlemail.com an andre@xyz.com zu verschicken. Meine main.cf 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 | smtpd_banner = $myhostname ESMTP $mail_name
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h
# TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
myhostname = xyz.com
alias_maps = hash:/etc/aliases,
alias_database = hash:/etc/aliases
myorigin = $myhostname
relayhost = smtp.1und1.de
mynetworks = 127.0.0.0/8, 192.168.1.0/24
dovecot_destination_recipient_limit = 1
mailbox_command = /usr/lib/deliver
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
#smtp_bind_address = your ip address (optional) ==>unmark and change the ip address for your setup.
smtpd_sasl_local_domain =
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_tls_auth_only = no
##
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent
sender_canonical_maps = hash:/etc/postfix/sender_canonical
##
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
home_mailbox = Maildir/
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_invalid_hostname
reject_non_fqdn_hostname
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unauth_destination
reject_unauth_pipelining
reject_invalid_hostname
reject_unknown_sender_domain
reject_rbl_client list.dsbl.org
reject_rbl_client cbl.abuseat.org
reject_rhsbl_sender dsn.fc-ignorant.org
smtpd_data_restrictions =
reject_unauth_pipelining,
reject_multi_recipient_bounce,
permit
smtpd_helo_required = yes
# transport_maps
maildrop_destination_concurrency_limit = 2
maildrop_destination_recipient_limit = 1
gnarwl_destination_concurrency_limit = 1
gnarwl_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport, ldap:/etc/postfix/ldap-transport.cf
mydestination = $transport_maps, localhost, localhost.localdomain, $myhostname, localhost.$mydomain, $mydomain
virtual_alias_maps =
ldap:/etc/postfix/ldap-aliases.cf,
ldap:/etc/postfix/ldap-virtualforward.cf,
ldap:/etc/postfix/ldap-accountsmap.cf
# virtual accounts for delivery
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps =
ldap:/etc/postfix/ldap-accounts.cf
virtual_minimum_uid = 1000
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
local_recipient_maps = $alias_maps
recipient_bcc_maps = ldap:/etc/postfix/ldap-vacation.cf
|
Mein Setup sieht folgendermaßen aus: Habe eine Domain bei 1und1, über die ich die Mails als Smarthost versenden will. Die Postfix Anbindung läuft über openLDAP. Da ich über nen Smarthost verschicke und es da mehrere Postfächer gibt, habe ich die zu verbindenen Postfächer über sasl_password_maps und sender_dependent_relayhost_maps eingebunden. Vielleicht habe ich bei der ganze Geschichte auch nen riesen Denkfehler. Postfix ist zum Empfang der Mails da, die authentifizierung überlasst Postfix Dovecot und für den Empfang der IMAP Postfächer ist Fetchmail da. Kann mir jemand helfen? Braucht ihr noch irgendwelche Logs oder Configs?
Gruß Lutz
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
Der Fehler ist doch offensichtlich: "Recipient address rejected: User unknown in local recipient table" Wo genau ist da jetzt das Problem?
|
Lutz3D
(Themenstarter)
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
Das ich nicht wirklich weiß wie ich den User anlegen soll, weil prinzipiell ist der User ja über LDAP angelegt. Daher bin ich mir da nicht ganz klar, wie das bewerkstelligt wird. Gruß Jonas
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
Lutz3D schrieb: .... weil prinzipiell ist der User ja über LDAP angelegt.
Nur findet Postfix den user offensichtlich nicht. Sehen wir jetzt mal davon ab, dass man bei einem Mailserver schon wissen sollte was man tut, ist die Frage warum die User über LDAP abgefragt werden? Steckt da noch mehr dahinter? Weil wenn nicht würde ich es zum Lernen und Verstehen mal ganz normal, ohne LDAP machen. Schritt für Schritt und erst wenn Du verstanden hast wie das alles funktioniert, würde ich einen weiteren Schritt machen. Ich würde Dir also raten mal zu schauen wie Postfix "seine" User erkennt, wozu die ganzen Tables da sind und wie das alles definiert wird.
|
Lutz3D
(Themenstarter)
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
Mir ist schon bewusst wie Postfix die User erkennt. Zumindest denke ich das 😀 Postfix guckt doch mit Hilfe von folgender Befehlen nach, ob und wie was in der LDAP Datenbank existiert: | virtual_alias_maps =
ldap:/etc/postfix/ldap-aliases.cf,
ldap:/etc/postfix/ldap-virtualforward.cf,
ldap:/etc/postfix/ldap-accountsmap.cf
# virtual accounts for delivery
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps =
ldap:/etc/postfix/ldap-accounts.cf
|
Dabei wird ja innerhalb der OU (in meinem Fall Server1) geguckt, ob es Objekte mit bspw. dem Attribut "VirtualMailAccount" gibt. Richtig? Allerdings verstehe ich dann nicht, wieso ich dann die Fehlermeldung bekomme. Auf der anderen Seite. Wenn ich nach meinem Fehler google, erhalte ich folgenden Hinweis, dass ich folgenden Wert setzen soll.
Jetzt ist der ja bei mir nicht gesetzt. Gehe ich richtig in der Annahme, dass ich den noch Anlegen muss? Gruß
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5350
|
Lutz3D schrieb: Auf der anderen Seite. Wenn ich nach meinem Fehler google, erhalte ich folgenden Hinweis, dass ich folgenden Wert setzen soll.
Jetzt ist der ja bei mir nicht gesetzt. Gehe ich richtig in der Annahme, dass ich den noch Anlegen muss?
Der ist bei mir (Debian 7) by default nicht gesetzt, also wie du ihn hier geschrieben hast (postconf -d relay_recipient_maps).
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
sebix schrieb: Der ist bei mir (Debian 7) by default nicht gesetzt, also wie du ihn hier geschrieben hast (postconf -d relay_recipient_maps).
Ohne weitere Einstellung wird auch alles was für relay_domains annehmen. Wie werden bei Dir denn die Empfänger gefiltert?
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
Lutz3D schrieb: Mir ist schon bewusst wie Postfix die User erkennt. Zumindest denke ich das 😀
dann wäre meine erste Frage, warum über virtual konfiguriert wird?
Postfix guckt doch mit Hilfe von folgender Befehlen nach, ob und wie was in der LDAP Datenbank existiert:
| virtual_alias_maps =
ldap:/etc/postfix/ldap-aliases.cf,
ldap:/etc/postfix/ldap-virtualforward.cf,
ldap:/etc/postfix/ldap-accountsmap.cf
# virtual accounts for delivery
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps =
ldap:/etc/postfix/ldap-accounts.cf
|
Dabei wird ja innerhalb der OU (in meinem Fall Server1) geguckt, ob es Objekte mit bspw. dem Attribut "VirtualMailAccount" gibt. Richtig?
Server1 sagt mir jetzt nichts. es werden die Informationen in /etc/postfix/ erwartet, so wie eben angegeben. Dabei sind die beiden virtual_mailbox Parameter lediglich zur Definition der mailboxen, haben damit also nichts zu tun.
Allerdings verstehe ich dann nicht, wieso ich dann die Fehlermeldung bekomme.
Weil Postfix den User mit den definierten Parametern nicht finden kann.
Auf der anderen Seite. Wenn ich nach meinem Fehler google, erhalte ich folgenden Hinweis, dass ich folgenden Wert setzen soll.
Jetzt ist der ja bei mir nicht gesetzt. Gehe ich richtig in der Annahme, dass ich den noch Anlegen muss?
Kommt ganz darauf an was Du konfigurieren willst. Wie ich weiter oben schon gefragt hatte warum per LDAP? Und warum über die virtual Parameter?
|
Lutz3D
(Themenstarter)
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
Danke erstmal für deine Antwort. Warum über LDAP? Weil ich es angenehm und übersichtlicher finde zu administrieren. Außerdem finde ich die Idee ziemlich genial, einfach eine zweite Domain anzulegen, um für diese Mails abzuholen bzw. verantwortlich zu sein. Was schlägst du als alternative zu den virutellen Parametern vor? Aber im Prinzip reicht es mir gerade erstmal, wenn ich meine Konfiguration um die notwendigen Parameter erweitern könnte. Gruß
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
Lutz3D schrieb: Außerdem finde ich die Idee ziemlich genial, einfach eine zweite Domain anzulegen, um für diese Mails abzuholen bzw. verantwortlich zu sein.
Verantwortlich zu sein ist hierbei das Stichwort. Es macht keinerlei Sinn einen Mailserver zu betreiben, wenn man keinerlei Plan davon hat. Mailserver sind keine Spielzeuge und einen Server anhand einer Anleitung ab zu kopieren und zusammen zu friemeln spricht nicht von Kompetenz in diesem Bereich. Aufbau ist ein teil, die administration letztendlich ein anderer.
Was schlägst du als alternative zu den virutellen Parametern vor?
Ich rate Dir zu einschlägiger Dokumentation wie auch z.B. http://www.postfix.org/documentation.html und wie auch schon weiter oben beschrieben empfehle ich zuerst den Mailserver ganz regulär ohne LDAP zum Laufen zu bringen bzw. zum Funktionieren. Wenn das dann funktioniert würde ich mir Gedanken über die Anbindung an LDAP machen.
|
Lutz3D
(Themenstarter)
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
Wie gesagt, das ganze Setup habe ich bereits ohne LDAP ans laufen bekommen. Daher wollte ich den nächsten Schritt mit der LDAP Anbindung wagen. Komme aber bei dem abholen der Mails nicht weiter. Das ein Mailserver kein Spielzeug ist, ist mir durchaus bewusst. Daher teste ich das ganze erstmal nur als lokalen Mailserver, der Mails versenden kann und Mails von 1und1 per pop3/imap abholt und an die einzelnen User zustellt. Sei mir nicht böse, aber jeder fängt mal klein an und gelangt an einen Punkt, an dem er nicht weiter kommt, auch wenn die Lösung noch so simpel ist. Gruß
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
Lutz3D schrieb: Wie gesagt, das ganze Setup habe ich bereits ohne LDAP ans laufen bekommen.
Na dann sollte es ja kein Problem sein 😉 Laut Fehlermeldung wird der Benutzer andre@localhost nicht gefunden bzw. ist unbekannt. Also wäre die Frage wo hier gesucht wird bzw. ob die LDAP Anfrage einen andre@localhost im LDAP Verzeichnis auch findet. Die cf Files, auf die virtual_alias_maps zeigt sind LDAP Abfragen? Lässt sich damit der Benutzer identifizieren?
|
Lutz3D
(Themenstarter)
Anmeldungsdatum: 3. März 2010
Beiträge: 35
|
gut 😛 In der zwischenzeit habe ich weitergeguckt, wo der Fehler liegen könnte. Bspw habe ich in der /etc/fetchmailrc den User geändert:
| poll imap.1und1.de protocol IMAP uidl username "andre@xyz.com" password "Passwrtxyz" is andre@xyz.com here ssl
|
Daraufhin erhalte ich folgende Fehlermeldung in der /var/log/mail.log | Mar 31 11:10:30 server1 postfix/pipe[1561]: 880BD413C7: to=<andre@xyz.com>, relay=maildrop, delay=0.11, delays=0.1/0/0/0, dsn=5.1.1, status=bounced (user unknown. Command output: ERR: authdaemon: s_connect() failed: No such file or directory Invalid user specified. )
|
Die cf Files sind LDAP abfragen mit folgendem Inhalt. ldap-aliases.cf
| server_host = localhost
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = cn=phamm,o=server1,dc=xyz,dc=com
bind_pw = password1
search_base = o=server1,dc=xyz,dc=com
scope = sub
query_filter = (&(&(objectClass=VirtualMailAlias)(mail=%s))(accountActive=TRUE))
result_attribute = maildrop
|
ldap-accountsmap
| server_host = localhost
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = cn=phamm,o=server1,dc=xyz,dc=com
bind_pw = password1
search_base = o=server1,dc=xyz,dc=com
scope = sub
query_filter = (&(&(objectClass=VirtualMailAccount)(mail=%s))(forwardActive=FALSE)(accountActive=TRUE)(delete=FALSE))
result_attribute = mail
|
ldap-virtualforward
| server_host = localhost
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = cn=phamm,o=server1,dc=xyz,dc=com
bind_pw = password1
search_base = o=server1,dc=xyz,dc=com
scope = sub
query_filter = (&(&(objectClass=VirtualMailAccount)(mail=%s))(vacationActive=FALSE)(forwardActive=TRUE)(accountActive=TRUE)(delete=FALSE))
result_attribute = maildrop
|
Ich gehe mal davon aus, dass in den LDAP abfragen der Hund begraben liegt. Gruß
Lutz
|