Fragen zu eigenständigem Mail-Server mit UCS

mail
german

#1

Hallo,

ich betreibe einen UCS-Memberserver eigenständigen Mail-Server, der auch von extern erreichbar sein soll.
Voraussetzungen sind soweit geschaffen, sprich feste IP, und öffentlicher DNS-Name und MX-Eintrag (Bsp. “mail.domainextern.de)”.
Versand von eMails nach extern funktioniert auch problemlos, allerdings können an den Server von extern keine Mails zugestellt werden, Fehlermeldung “user unknown in virtual mailbox table”.
Die Domain-User sind historisch noch mit einer internen, primären Mail-Adresse angelegt (Bsp. “user@domainintern.local”), daher vermute ich, dass dort das Problem liegt, aber auch die Neuanlage eines User mit primärer Adresse der öffentlichen Domain bringt den selben Fehler.
Als Mail-Domain ist “domainextern.de” eingerichtet, sollte also auch korrekt sein.
Kann ich an einer Stelle ein Mapping einrichten, dass alle User user[n]@domainintern.local jeweils auch über user[n]@domainextern.de erreichbar sind?
Oder für eine weitere grobe Eingrenzung ein Fetchall einrichten?


#2

Hallo,

es gibt unter UCS verschiedene Mail-Integrationen die sich an einigen Stellen geringfügig unterscheiden. Von welcher reden wir hier?

Desweiteren wäre es vermutlich sinnvoll zu wissen, in welchen LDAP-Attributen die Mailadressen abgelegt sind. Für das Mailrouting relevant sind zumeist mailPrimaryAddress und mailAlternativeAddress. Das kann man gut mit univention-ldapsearch ermitteln (univention-ldapsearch uid=someuser | grep ^mail).

Viele Grüße,
Dirk Ahrnke


#3

Hallo,

Es handelt sich um einen Memberserver mit Cyrus/Postfix sowie Horde als Groupware-Lösung.
LDAP Attribute muss ich noch konkret prüfen.


#4

Hallo,

bei Cyrus/Postfix gibt es bezüglich des Routings m.E. keine großen Stolperfallen. Technisch gesehen muß - soweit ich es in Erinnerung habe - nur das Attribut “univentionMailHomeServer” korrekt gesetzt sein damit “mailPrimaryAddress” und “mailAlternativeAddress” als gültige Adressen akzeptiert werden. Der MailHomeServer ist aber sowieso nötig um eine Mailbox zu erstellen.
Fall diese Hinweise nicht helfen, sollten wir einen Blick auf /var/log/mail.log werfen.

Viele Grüße,
Dirk Ahrnke


#5

LDAP-Attribute sind soweit in Ordnung:

~# univention-ldapsearch uid=userxyz | grep ^mail mail: userxyz@domainextern.de mailPrimaryAddress: userxyz@domainextern.de

Im Mail-Log sehe ich bisher keine Auffälligkeiten, abgesehen von (erfolglosen) Versuchen, den Server als offenes Relay zu missbrauchen und fehlerhaften Logins…
Häufigster Eintrag ist

Oct 7 21:41:43 mail cyrus/master[2622]: process 30024 exited, status 0 Oct 7 22:11:43 mail cyrus/master[30481]: about to exec /usr/sbin/ctl_cyrusdb Oct 7 22:11:43 mail cyrus/ctl_cyrusdb[30481]: checkpointing cyrus databases Oct 7 22:11:43 mail cyrus/ctl_cyrusdb[30481]: archiving database file: /var/lib/cyrus/mailboxes.db Oct 7 22:11:43 mail cyrus/ctl_cyrusdb[30481]: archiving database file: /var/lib/cyrus/annotations.db Oct 7 22:11:43 mail cyrus/ctl_cyrusdb[30481]: done checkpointing cyrus databases

Wie kann ich denn prüfen, welche User in der virtual mailbox table existieren?
Welche Settings müssten in der main.cf unter myhostname, myorigin, smtp_helo_name […] stehen?


#6

Hallo,

die Logeinträge vom Cyrus sind hier erstmal wenig interessant, es sollte nach den Einträgen von Postfix zum Zeitpunkt der Zustellversuche Ausschau gehalten werden.
Die Konfiguration hinsichtlich der definierten Mailboxen wird per LDAP geholt. Relevant sind zunächst /etc/postfix/ldap.virtual und /etc/postfix/ldap.virtualdomains.

Viele Grüße,
Dirk Ahrnke


#7

Bei den Zustellversuchen steht dann wieder “user unknown in virtual mailbox table” im Log, Auszug poste ich später.
Postfix-Konfig prüfe ich - wie sollte sie im Idealfall aussehen?


#8

Hallo,

vielleicht sind auch Konfigurationen noch nicht geschrieben worden? Wenn man am Template geändert hat, kann man mit

ucr commit [dateiname]

Konfigurationsdateien aktualisierren, die von dem Template abhängen. Je nachdem, welche es betrifft, muß man dann noch den betreffenden Daemon (hier: Postfix) restarten oder reloaden.

viele Grüße,
Frank Greif.


#9

Besten Dank, auf wundersame Weise funktioniert die Zustellung jetzt …
Konfig-Dateien haben aber noch den Stand vom 28.09., also tatsächlich nichts verändert…
Vielleicht war das letzte Update und der Reboot noch entscheidend.
Werde es mal beobachten und mich weiter in die Doku einlesen…


#10

Habe hier ähnliches Problem nur andere Fehlermeldung.

Routing passt
feste IP sowie DNS passt.

Aber wenn ich eine Mail zustellen will bzw eine Mail ankommt bekommt der Sender dieses zurück.

 USer@Domain.de
    host mail.Domain.de [37.xxx.xxx.78]
    SMTP error from remote mail server after pipelined DATA:
    554 5.7.1 <DATA>: Data command rejected: Sender access denied

#11

[quote=“csaeum”]Habe hier ähnliches Problem nur andere Fehlermeldung.

Routing passt
feste IP sowie DNS passt.

Aber wenn ich eine Mail zustellen will bzw eine Mail ankommt bekommt der Sender dieses zurück.

USer@Domain.de host mail.Domain.de [37.xxx.xxx.78] SMTP error from remote mail server after pipelined DATA: 554 5.7.1 <DATA>: Data command rejected: Sender access denied [/quote]

Das sieht mir dann doch mehr nach Kolab-Konfiguration aus.


#12

Ja ist Kolab Installation


#13

Mir ist gerade was aufgefallen in meiner main.cf steht noch folgendes!

root@email:/var/log# cat /etc/postfix/main.cf |grep hostname
myhostname = email.lichte-kraft.eu
# mydomain is unset - The default is to use $myhostname minus the first component.
mydestination = $myhostname, localhost.$mydomain, localhost
        reject_invalid_helo_hostname,

Da werden doch ein paar Variablen nicht gefüllt oder?


#14

Also ich habe mal nach der Fehlermeldung ausschau gehalten.

Laut der URL: hostinghilfe.eu/index.php?ti … rmeldungen

relay access denied
meinuser@meinedomain.de: host mail.meinedomain.de[123.456.789.124]
said: 554 5.7.1 meinuser@meinedomain.de: Relay access denied (in reply
to RCPT TO command)

Relay access denied bedeutet soviel, dass der Zielmailserver (hier mail.meinedomain.de) nicht für die gewünschte Domain zuständig ist (also für meinedomain.de). Es wäre hier gut möglich, dass die Domain im DNS falsch eingetragen ist. Oder die Domain gar nicht für den eMailempfang konfiguriert ist. Sie sollten Rücksprache mit dem potentiellen Empfänger halten um die korrekte eMailadresse zu prüfen.

Ich habe die Domains bei Maildomains eingetragen im Backend und den User weitere E-Mailadressen eingetragen. Dennoch kommen die nicht an.

DNS mäßig kommen diese aber am richtigen Server an.


#15

Also ich habe mal weiterrecherchiert.

In der Registry gibt es ja folgende Variable: mail/hosteddomains

hier könnte ich die Domains ja reinschreiben, es wird aber beim Beschreibungstext empfohlen diese ins “richtige Modul” reinzuschreiben.
Aber das scheint ja im Moment nicht zu funktionieren.

Wie sollte ich vorgehen oder liegt der Fehler direkt bei Kolab?


#16

Die gehosteten Mail domains sollten nur über UDM/UMC bearbeitet werden. Die UCR Variable dient nur der einfacheren Verwendung in Skripten.

Sollten die gleichen Domains listen:

ucr search mail/hosteddomains udm mail/domain list univention-ldapsearch -LLL '(objectClass=univentionMailDomainname)'

[code]eval $(ucr shell)
udm mail/domain create --position cn=domain,cn=mail,$ldap_base --set name=test.test

Domain “test.test” sollte nun gelistet werden:

ucr search mail/hosteddomains
udm mail/domain list

Domain “test.test” entfernen:

udm mail/domain remove --dn=cn=test.test,cn=domain,cn=mail,ldap_base[/code]

Falls die UCR Variable und die von UDM gelisteten Domains nicht übereinstimmen, dann bitte mit “udm mail/domain create/remove” die fehlenden anlegen & entfernen bis UDM und UCR die gleichen Domains auflisten.

[quote=“csaeum”][code]root@email:/var/log# cat /etc/postfix/main.cf |grep hostname
myhostname = email.lichte-kraft.eu

mydomain is unset - The default is to use $myhostname minus the first component.

mydestination = $myhostname, localhost.$mydomain, localhost
reject_invalid_helo_hostname,[/code]

Da werden doch ein paar Variablen nicht gefüllt oder?[/quote]
Das sind Postfix-Variablen - die füllt Postfix selbst aus. Um zu sehen wie Postfix die Konfiguration zur Laufzeit sieht folgerndes ausführen:

postconf myhostname # Wert einer Variablen postconf # alle Variablen ausgeben postconf -n # explizit konfigurierte Variablen (also nur Variablen die nicht die default Werte haben)

Zum Testen der eigenen Installation empfehle ich fetchmail und swaks zu verwenden:

[code]swaks --from test@example.org --to user@dom.ain --server $(hostname -f) --port 25
swaks --from test@example.org --to external@example.com --server $(hostname -f) --port 587 --auth-user user@dom.ain --auth-password s3cr3t

fetchmail --check --nodetach --protocol IMAP --all --keep --username user@dom.ain $(hostname -f)
fetchmail --check --nodetach --protocol POP3 --all --keep --username user@dom.ain $(hostname -f)[/code]
Am Besten erstmal auf dem UCS-Server selbst installieren und gegen $(hostname -f) (externe IP) verwenden um Netzwerkprobleme auszuschließen. Wenn das klappt, dann vom Büro aus.


#17

Ich glaub nun komme ich nach Tagen wirklich weiter.

Also wenn ich folgendes eingebe kommt dieses Ergebniss:

root@email:~# ucr search mail/hosteddomains
mail/hosteddomains: <empty>
 This variable contains the mail domains in use. This variable should not be directly modified, instead mail domains can be created/removed in the mail module of the UMC.

root@email:~#

Wenn ich folgendes eingebe kommt:

root@email:~# udm mail/domain list

DN: cn=lichte-kraft.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: lichte-kraft.eu

DN: cn=familie-saeum.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: familie-saeum.de

DN: cn=web-seo-consulting.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: web-seo-consulting.eu

DN: cn=licht-quelle.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: licht-quelle.eu

DN: cn=engelskarten.info,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: engelskarten.info

DN: cn=3d-gege.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: 3d-gege.de

DN: cn=litpix.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: litpix.de

DN: cn=tester.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
ARG: None
  name: tester.de

root@email:~#

kommen auch meine Domains mit der letzten die ich nochmal über das “Backend” eingepflegt habe.

Wenn ich nun das letzte eingebe:

root@email:~# univention-ldapsearch -LLL '(objectClass=univentionMailDomainname)'
dn: cn=lichte-kraft.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: lichte-kraft.eu

dn: cn=familie-saeum.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: familie-saeum.de

dn: cn=web-seo-consulting.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: web-seo-consulting.eu

dn: cn=licht-quelle.eu,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: licht-quelle.eu

dn: cn=engelskarten.info,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: engelskarten.info

dn: cn=3d-gege.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: 3d-gege.de

dn: cn=litpix.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: litpix.de

dn: cn=tester.de,cn=domain,cn=mail,dc=lichte-kraft,dc=eu
objectClass: top
objectClass: univentionMailDomainname
objectClass: univentionObject
univentionObjectType: mail/domain
cn: tester.de

root@email:~#

kommen auch alle Domains von mir.

Somit schließe ich mal daraus das die Ausgabe bei “ucr search mail/hosteddomains”
nicht richtig gefüllt wird weil dort sollten diese doch auch erscheinen oder?


#18

[quote=“csaeum”]Somit schließe ich mal daraus das die Ausgabe bei “ucr search mail/hosteddomains”
nicht richtig gefüllt wird weil dort sollten diese doch auch erscheinen oder?[/quote]Entschuldigung - ich sehe gerade, dass mail/hosteddomains von einem Listener aus univention-mail-postfix gepflegt wird. Aber Sie haben ja eine Horde-Installation. Dort gibt es das nicht - die UCR Variable spielt dort keine Rolle - ignorieren Sie sie.


#19

Naja ich habe hier eine Kolab installation sorry hätte ich nochmal erwähnen sollen.


#20

Soll ich es mal in den Kolab Bugtracker weitergeben?

Oder ist es gewollt das verhalten und man sollte es über fetchmail lösen. Nur da hatte ich auch schon ähnliche oder gleiche Probleme.