• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Internet-Mailserver mit postfix/cyrus

Status
Für weitere Antworten geschlossen.
OP
S

S_O

Member
du musst dich entscheiden !!! mydestination ODER virtual....
Ich habe mydestination auskommentiert.

Es steht jetzt auf: smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject

Aber es geht immer nocht. Mynetworks ist nicht definiert (der Server hat ja kein netzwerk)
 

dermichel

Advanced Hacker
unauth_destination! hab doch den ganzen abschnitt gepostet von der postfix.org doku!

lies dir das mal genau durch - ich schreib das ja nicht aus spass!

reject_unauth_destination
Reject the request unless one of the following is true:

* Postfix is mail forwarder: the resolved RCPT TO address matches $relay_domains or a subdomain thereof, and contains no sender-specified routing (user@elsewhere@domain),
* Postfix is the final destination: the resolved RCPT TO address matches $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, and contains no sender-specified routing (user@elsewhere@domain).
 
OP
S

S_O

Member
Das ist die Sequenz welche beim Empfang abläuft.
Häh? Der gmx brauch doch kein passwort für mein smtp? ich konnte mir (bei GMX) ja auch eine mail schicken mit telnet ohne irgendwie ein passwort anzugeben:
# telnet mx0.gmx.de 25
Trying 213.165.64.100...
Connected to mx0.gmx.de.
Escape character is '^]'.
220 {mx013} GMX Mailservices ESMTP
EHLO mail.mein-domain.de
250-{mx013} GMX Mailservices
250-8BITMIME
250 ENHANCEDSTATUSCODES
MAIL FROM:<benutzer@mein-domain.de>
250 2.1.0 {mx013} ok
RCPT TO:<gmxemail@gmx.net>
250 2.1.5 {mx013} ok
DATA
354 {mx013} Go ahead
test dhjsdfksdjf
fhfsdjfhkdjshfksdj
.
250 2.6.0 {mx013} Message accepted
QUIT
221 2.0.0 {mx013} GMX Mailservices
 

dermichel

Advanced Hacker
S_O schrieb:
Das ist die Sequenz welche beim Empfang abläuft.
Häh? Der gmx brauch doch kein passwort für mein smtp? ich konnte mir (bei GMX) ja auch eine mail schicken mit telnet ohne irgendwie ein passwort anzugeben:
# telnet mx0.gmx.de 25
Trying 213.165.64.100...
Connected to mx0.gmx.de.
Escape character is '^]'.
220 {mx013} GMX Mailservices ESMTP
EHLO mail.mein-domain.de
250-{mx013} GMX Mailservices
250-8BITMIME
250 ENHANCEDSTATUSCODES
MAIL FROM:<benutzer@mein-domain.de>
250 2.1.0 {mx013} ok
RCPT TO:<gmxemail@gmx.net>
250 2.1.5 {mx013} ok
DATA
354 {mx013} Go ahead
test dhjsdfksdjf
fhfsdjfhkdjshfksdj
.
250 2.6.0 {mx013} Message accepted
QUIT
221 2.0.0 {mx013} GMX Mailservices


wenn du an die domain GMX.NET sendest geht das immer! weil der gmx-smtp dafuer zustaendig ist! bei einer anderen domain kommt ein DENY... also hier fehlen absolute basics in sachen email.. sorry...

/SUPPORT OFF
 

oc2pus

Ultimate Guru
damit hättest du deinen Fehler reproduziern können. logisch braucht der gmx kein Passwort, woher sollte er das wissen. Durch die Erweiterung deine Annahmepolicy wird das erledigt. Ohne die Erweiterung ist genau das passiert ==> ACCESS DENIED.
 
OP
S

S_O

Member
Ich fühle mich missverstanden :(

natürlich brauch ich kein Passwort! Ich habe das Post von oc2pus so verstanden als ob er sagen wollte das der GMX ein Passwort auf meinen postfix brauch, und wollte ihm zeigen das dies nicht Fall ist, denn ich (als smtp-server) brauch auf gmx kein passwort wenn ich die mails dort abegben will an ihren endpunkt.
Genauso soll das ja auch an meinen smtp sein (wie sollte es auch anders sein?).

Um nochmal festzustellen: benutzer können über meinen smtp emails versenden mit gültigem benutzername/passwort. Das funktioniert.
Mein smtp verweigert aber die Annahme von mails die an ihn gerichtet sind (also für Mails für die er zuständig ist)!

also hier fehlen absolute basics in sachen email.. sorry...
sorry, du hast mich falsch verstanden (oder ich dich/oc2pus)
 

oc2pus

Ultimate Guru
S_O schrieb:
Ich fühle mich missverstanden :(

natürlich brauch ich kein Passwort! Ich habe das Post von oc2pus so verstanden als ob er sagen wollte das der GMX ein Passwort auf meinen postfix brauch, und wollte ihm zeigen das dies nicht Fall ist, denn ich (als smtp-server) brauch auf gmx kein passwort wenn ich die mails dort abegben will an ihren endpunkt.
Genauso soll das ja auch an meinen smtp sein (wie sollte es auch anders sein?).

Um nochmal festzustellen: benutzer können über meinen smtp emails versenden mit gültigem benutzername/passwort. Das funktioniert.
Mein smtp verweigert aber die Annahme von mails die an ihn gerichtet sind!

jaaaa, und so wie dein Server zur Zeit konfiguriert ist, zeigt das kleine telnet Beispiel (deshalb telnet <dein-server> <port> und nicht irgendein gmx Server). Du musst telnet <dein-server> sagen, dann siehst du genau das. Deshalb muss auch die smtpd_recipient_restrictions Option erweitert werden. Egal wer in deinen server funkt er wird abgelehnt da zur Zeit NUR die sasl_auth gecheckt wird.

EDIT: ich habe das bei mir ausprobiert und versucht die ein Beispiel für den Fehler zu geben. Deshalb hatte ich auch dein posting solange auf. Ich denke gelegentlich auch nach ....
 

dermichel

Advanced Hacker
1) du brauchst ein paswd bei gmx.de um fuer andere domains ausliefern zu koennen ausser fuer gmx.de/net usw... (stichwort: relayhost)

2) dein mailserver muss auch verbindungen zulassen die nicht nur ueber smtpd_auth abgearbeitet werden, sondern mails fuer seine eigene domain auch zulassen (stichwort: smtpd_restrictions).

beides wurde hier beschrieben - die umsetzung sollte absolut kein problem darstellen...
 
OP
S

S_O

Member
jaaaa, und so wie dein Server zur Zeit konfiguriert ist, zeigt das kleine telnet Beispiel (deshalb telnet <dein-server> <port> und nicht irgendein gmx Server). Du musst telnet <dein-server> sagen, dann siehst du genau das. Deshalb muss auch die smtpd_recipient_restrictions Option erweitert werden. Egal wer in deinen server funkt er wird abgelehnt da zur Zeit NUR die sasl_auth gecheckt wird.
Genau das habe ich ja schon seit mehreren Posts begriffen, aber wie ändere ich das?

Einstellung zur zeit:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject

mynetworks = $myhostname, localhost.$mydomain, localhost

Geht aber nicht. Ich denke die Änderung hat nur bewirkt das ich jetzt vom Server selber aus jetzt mails abgeben kann ohne sasl (was ja eigentlich nicht not tut). Aber der GMX ja nicht. Welche Option fehlt?
 
OP
S

S_O

Member
1) du brauchst ein paswd bei gmx.de um fuer andere domains ausliefern zu koennen ausser fuer gmx.de/net usw... (stichwort: relayhost)
Ja, aber nicht bei mx0.gmx.de, der ist nicht zuständig. Die haben das getrennt. das verschicken läuft über mail.gmx.net
2) dein mailserver muss auch verbindungen zulassen die nicht nur ueber smtpd_auth abgearbeitet werden, sondern mails fuer seine eigene domain auch zulassen (stichwort: smtpd_restrictions).
Das sollte er, wenn er den benutzer kennt. Welche Option muss ich aber dafür nun setzen?
 

dermichel

Advanced Hacker
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unauth_destination
 

dermichel

Advanced Hacker
Ja, aber nicht bei mx0.gmx.de, der ist nicht zuständig. Die haben das getrennt. das verschicken läuft über mail.gmx.net



is klar:


primergy:~/skripte # telnet mx0.gmx.de 25
Trying 213.165.64.100...
Connected to mx0.gmx.de.
Escape character is '^]'.
220 {mx030} GMX Mailservices ESMTP
helo www.klehr.de
250 {mx030} GMX Mailservices
mail from: m@klehr.de
250 2.1.0 {mx030} ok
rcpt to: support@microsoft.com
553 5.7.1 {mx030} We do not relay - access denied
quit
221 2.0.0 {mx030} GMX Mailservices
Connection closed by foreign host.




hast du verstanden was "zustaendig sein" bedeutet? was das fuer einen sinn hat? wie email funktioniert?
 

oc2pus

Ultimate Guru
S_O schrieb:
du musst dich entscheiden !!! mydestination ODER virtual....
Ich habe mydestination auskommentiert.

Es steht jetzt auf: smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject

Aber es geht immer nocht. Mynetworks ist nicht definiert (der Server hat ja kein netzwerk)

die Reihenfolge ist auch wichtig !
lies doch bitte mal die links von derMichel bzw die Postings genau.
das steht auch in dem link von mir für die smtp* Options
 
OP
S

S_O

Member
@dermichel:
Für mich ist dieses Log absolut verständlich, aber du wirst dich hier nicht relayen können, auch als gmx-user! mx0.gmx.net ist nur zum entgegennehmen von emails die an ihn gerichtet sind (also @gmx). Wenn du relayen willst (als gmx-user) musst du mail.gmx.net verwenden, mail.gmx.net wiederrum wird keine mails entgegennehmen ohne benutzername/passwort, auch wenn sie nach @gmx.de an einen gültigen user geht. mehr wollte ich nicht sagen. ich hoffe das war verständlich.

Ich habe mich mal entschieden das so einzutragen:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_auth_destination, reject

Und der GMX-smtp schickt meine Mail nicht mehr zurück, denn er bekommt kein 554 mehr! Juhu! Aber postfix tut es:
This is the Postfix program at host mail.mein-domain.de.

I'm sorry to have to inform you that your message could not be
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The Postfix program
Ich werde mir mal das log anschauen.

Hier das Log:
Code:
Jul 30 19:09:37 xyz postfix/smtpd[8002]: connect from pop.gmx.de[213.165.64.20]
Jul 30 19:09:45 xyz postfix/smtpd[8002]: 293F21A7CE036: client=pop.gmx.de[213.165.64.20]
Jul 30 19:09:45 xyz postfix/cleanup[15016]: 293F21A7CE036: message-id=<410A80AB.7050300@gmx.net>
Jul 30 19:09:47 xyz postfix/qmgr[1187]: 293F21A7CE036: from=<gmxmail@gmx.net>, size=898, nrcpt=1 (queue active)
Jul 30 19:09:47 xyz postfix/smtpd[8002]: disconnect from pop.gmx.de[213.165.64.20]
Jul 30 19:09:50 xyz postfix/error[19237]: 293F21A7CE036: to=<benutzer~mein-domain.de@mein-domain.de>, orig_to=<benutzer@mein-domain.de>, relay=none, delay=9, status=bounced (User unknown in virtual alias table)
Jul 30 19:09:50 xyz postfix/cleanup[15016]: 9E6211A7CE037: message-id=<20040730170950.9E6211A7CE037@mail.mein-domain.de>
Jul 30 19:09:52 xyz postfix/qmgr[1187]: 9E6211A7CE037: from=<>, size=2814, nrcpt=1 (queue active)
Jul 30 19:09:52 xyz postfix/qmgr[1187]: 293F21A7CE036: removed
Jul 30 19:10:04 xyz postfix/smtp[20741]: 9E6211A7CE037: to=<gmxmail@gmx.net>, relay=mx0.gmx.de[213.165.64.100], delay=14, status=sent (250 2.6.0 {mx045} Message accepted)
Jul 30 19:10:04 xyz postfix/qmgr[1187]: 9E6211A7CE037: removed
Er akzeptiert also nun genrell mails von anderen smtps, aber er kennt den benutzer nicht. Der ist aber eingerichtet.

Nachtrag:
Ich glaube das hängt damit zusammen das die Adresse falsch aufgelöst wird:
to=<benutzer~mein-domain.de@mein-domain.de>, orig_to=<benutzer@mein-domain.de>
Das ist aber falsch, richtig wäre nur benutzer~mein-domain.de
Wie kann ich das ändern?
 
OP
S

S_O

Member
in sasldb2 oder als cyrus-user ?
Er steht in der virtual/alias Liste die von tequila angelegt wurde und ist in saslsb2 drin (versenden über den benutzernamen geht). Über cyrus werden keine Mails mehr zugestellt, das macht jetzt vm-pop3d. Die Mails werden in die Datei /var/spool/mail/virtual/domain/benutzer oder so kopiert, daraus liest vm-pop3d die dann.
 

oc2pus

Ultimate Guru
aha, ist mir da was entgangen? Bis dato war es doch immer cyrus-imap.

ansonsten kann ich dir zu vm-pop3d auch nix weiter sagen. Ich bin dummy und kann nur cyrus-imap ;)

aber einen Tip habe ich noch:
vm-pop3d uses dot-locking, which means that a mailboxfile is locked by
creating a "mbox.lock" file. Postfix by default uses flock or fcntl
on most systems. So in the case, that postfix tries to deliver a mail
at the same time while a user is retrieving his mail via vm-pop3d the
newly delivered mail will be appended to a mbox-file which is being
changed at the same time. This will discard the new mail and possibly
leave the mbox in a corrupt state.
To make Postfix use the same locking mechanism as vm-pop3d does, you
have to specify this in main.cf:
virtual_mailbox_lock = dotlock
In this case, Postfix will honor an existing mbox.lock-file and defer
the maildelivery if the vm-pop3d is retrieving and/or otherwise
modifying the mailbox.
 
OP
S

S_O

Member
Der Tipp ist zwar sehr ratsam, hat jedoch nichts mit meinem aktuellen Problem zu tun.
Sowie ich das erkenne arbeiten postfix und vm-pop3d völlig getrennt. Die Postfix-Enstellungen sind also völlig unabhängig von vm-pop3d.

Ich würde auch wieder cyrus nutzen, aber die Administration ist dann so kompliziert. Aber ich habe irgendwo was mit mysql gelesen (also kein sasldb mehr), dann könnte ich mir ja auch ein php-front-end programmieren, wenn dann alles in der mysql datenbank ist. Geht so was?
 

oc2pus

Ultimate Guru
Die Postfix-Enstellungen sind also völlig unabhängig von vm-pop3d
Deshalb hat postfix dafür einen Parameter ;)
Wer schreibt den die incoming mails in die mailboxes ?

aber zurück zum Thema. Mit dem vm-pop3d kenn ich mich nicht aus. Da kann ich nix zu sagen...

und ohne einen Glaubenskrieg vom Zaun zu brechen (dat hatten wir hier schon alles) cyrus ist nicht schwer zu administrieren. Es gib webmin mit einem Modul, es gibt diverse php-Frontends.... und last but not least die Konsole.
 
Status
Für weitere Antworten geschlossen.
Oben