postfix für relay configurieren

Domi

Member
Hallo Leute, ich hab da mal wieder ein kleines Projekt für mich geplant :)
Ich habe mir auf einem kleinen PC ein Ubuntu installiert, welches ich für zuhause als Email System verwenden möchte. Sprich, die Kiste ruft via fetchmail oder getmail die Emails von meinen GMX Adressen ab, legt sie in meinem "maildir" ab, ich rufe das ganze via IMAP (dovecot) ab und gut.

Wenn ich nun eine Email versende, soll der SMTP der lokale Server sein. Postfix soll das ganze dann an mein GMX Konto senden, und von dort aus geht es dann zum Empfänger! Jetzt hätte ich ganz gerne noch "sonder-features" die ich noch nicht so heraus gefunden habe.. Ich hatte so etwas mal via debian installiert und teilweise lauffähig gehabt :)

Ich überlege folgendes und hab da auch irgend wo "probleme" festgestellt. Und zwar richte ich meine GMX Adresse und die von meinem Bruder auf dem Server ein. Wenn ich dem Server nun sage, dass gmx.de eine locale Domäne ist, versucht er local zu schauen ob der empfänger da ist. Wenn der nicht da ist, dann gibt es ja eine fehler Rückmeldung. Wie umgehe ich so etwas?

Sprich, unter "mydestination" steht jetzt gmx.de, wenn ich nun von a@gmx.de nach b@gmx.de eine mail sende, schaut er ja ob diese adresse auf dem server liegt. Wenn nicht, gibt es die Rückmeldung "nicht vorhanden" oder so etwas.

Wie löse ich denn das problem, wenn ein empfänger nicht vorhanden ist, aber die domäne schon, dass er die email an den relayhost sendet? :)

Ein weiteres feature was ich noch wollte, ist folgendes.. Ich wollte postfix sagen, dass er die Emails an Port 587 des relayhosts senden soll, aber da gab es irgend wie Probleme mit dem Zertifikat.

Gibt es für solch ein vorhaben, ein kleines aber feines how-to? Dann würde ich von null anfangen, und einfach erst mal step-by-step postfix einrichten :)

So.. Ich hoffe man versteht oder kann nachvollziehen was ich vorhabe.
Gruß, Anubis
 
Ich hatte so etwas mal via debian installiert und teilweise lauffähig gehabt :)
Warum machst du es dann nicht einfach wieder genau so? Die Pakete sind unter Debian und Ubuntu Linux hinreichend ähnlich.

Wenn der nicht da ist, dann gibt es ja eine fehler Rückmeldung. Wie umgehe ich so etwas?
http://www.postfix.org/postconf.5.html#sender_dependent_relayhost_maps

gmx.de, gmx.net usw. haben in deiner $mydestinations (und welche Einstellungen sonst noch lokale Domains bestimmen) nichts zu suchen!

Ich wollte postfix sagen, dass er die Emails an Port 587 des relayhosts senden soll, aber da gab es irgend wie Probleme mit dem Zertifikat.
Wie lautet die genaue Fehlermeldung?
 
Wie lautet die genaue Fehlermeldung?
Also.. Ich habe mal neu angefangen mit meinem Ubuntu, und bin ein wenig nach der Anleitung voran gegangen.
-> klick mich

Im Moment sieht meine mein.cf wie folgt aus,
Code:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no

readme_directory = no

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

myhostname = ubuntu.fritz.box
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ubuntu.fritz.box, localhost.fritz.box, localhost
relayhost = mail.gmx.net
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

sender_canonical_maps = hash:/etc/postfix/sender_canonical
So, die sender_canonical und die sasl_password hab ich auch angelegt, und auch in ein DB Format umgestellt, mit dem Befehlt "postmap" :)

Postfix wurde von mir neu gestartet, ich legte mir mit vim eine Textdatei an, die ich dann versucht habe über den "mail" Befehl zu versenden..
-> mail -s "test mail 1" d.***@***.de < testmail.txt

So, und in der /var/log/mail.log steht nun folgendes, und das hatte ich auch schon die male davor, als ich gesagt hatte "versuch es über Port 587" :)
Code:
Jan 23 20:45:02 ubuntu postfix/pickup[923]: 45DA4705: uid=1000 from=<d***>
Jan 23 20:45:02 ubuntu postfix/cleanup[1232]: 45DA4705: message-id=<20110123194502.45DA4705@ubuntu.fritz.box>
Jan 23 20:45:02 ubuntu postfix/qmgr[924]: 45DA4705: from=<d**.w**@gmx.de>, size=530, nrcpt=1 (queue active)
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: warning: SASL authentication failure: No worthy mechs found
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: 45DA4705: SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.20]: no mechanism available
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: warning: SASL authentication failure: No worthy mechs found
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: 45DA4705: to=<d.***@***.de>, relay=mail.gmx.net[213.165.64.21]:25, delay=0.31, delays=0.14/0.01/0.16/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.21]: no mechanism available)
So, ich hoffe mal.. Damit kann man schon was anfangen.

Und das unter mydestinations nicht die eigenen domains stehen sollten, hätte mir auch einfallen können :rolleyes:
 
Code:
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: warning: SASL authentication failure: No worthy mechs found
Jan 23 20:45:02 ubuntu postfix/smtp[1234]: 45DA4705: SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.20]: no mechanism available
Das liest sich so, als hättest du libsasl2-modules nicht installiert.
 
Das liest sich so, als hättest du libsasl2-modules nicht installiert.
Joa, dass war auch mein erster Gedanke.. Zumal in der Anleitung ja drin steht das man das modul benötigt, also schaute ich mal nach und bekam folgende "auskunft" :)
Code:
dominik@ubuntu:~$ sudo aptitude search libsasl2-modules
i   libsasl2-modules
Ich hab mal die anderen pakete die er zeigte weg gelassen :) Aber da sieht man ja das es installiert ist, dass einzige was ich machen könnte (das mache ich mal eben) einmal "purge" und neu installieren
 
Dann aktiviere mal TLS für den SMTP-Client von Postfix mit smtp_use_tls. Ansonsten beisst sich das mit deiner Einstellung für smtp_sasl_security_options.
Also, ich habe in der main.cf mal ein paar Varianten ausprobiert.. Aktueller Stand ist das...
Code:
smtp_use_tls = yes

smtp_sasl_security_options = noplaintext
Ich hatte es auch mal mit "noanonymous" ausprobiert als einziger parameter, aber keinen effekt. So wie es jetzt steht, gibt es folgende Meldung im log,
Code:
Jan 23 21:56:17 ubuntu postfix/cleanup[3083]: 054B46C8: message-id=<20110123205617.054B46C8@ubuntu.fritz.box>
Jan 23 21:56:17 ubuntu postfix/qmgr[3056]: 054B46C8: from=<d***.w***@gmx.de>, size=530, nrcpt=1 (queue active)
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: certificate verification failed for mail.gmx.net[213.165.64.21]:25: untrusted issuer /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: warning: SASL authentication failure: No worthy mechs found
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: 054B46C8: SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.21]: no mechanism available
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: certificate verification failed for mail.gmx.net[213.165.64.20]:25: untrusted issuer /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: warning: SASL authentication failure: No worthy mechs found
Jan 23 21:56:17 ubuntu postfix/smtp[3085]: 054B46C8: to=<d.w***@***.de>, relay=mail.gmx.net[213.165.64.20]:25, delay=0.71, delays=0.09/0.08/0.54/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.20]: no mechanism available)
Was mich mal interessiert, in meiner sasl_password steht folgendes drin,
Code:
mail.gmx.net xxx@gmx.net:xxx
kann es da auch Probleme wegen dem @ Zeichen geben?
 
Soo... Das Thema ist zwar schon fast (stein-alt), aber ich hab es endlich geschafft das ich vom Thunderbird meine Emails an den Server senden kann, und der diese Emails an meine gmx Adresse sendet :)

Ich muss zwar noch gucken was überflüssig ist in meiner main.cf, aber aktuell sieht diese Datei wie folgt aus...
Code:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no

#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = ubuntu.fritz.box
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxxx.local, xxxx.de, localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/

smtpd_helo_required = yes
smtpd_recipient_restrictions =
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unknown_sender_domain,
  reject_unknown_recipient_domain,
  permit_sasl_authenticated,
  permit_mynetworks,
  reject_unverified_recipient,
  reject_unauth_destination,
  reject_rbl_client cbl.abuseat.org,
  reject_rbl_client sbl.spamhaus.org,
  reject_rbl_client zen.spamhaus.org,
  permit
  
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous

relayhost = mail.xxxx.de
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous
Ich bin aber nur darauf gestoßen, als ich die main.cf von einem root-Server mit Postfix angeschaut habe... :rolleyes: Wie sicher oder gut sind eigentlich diese Relay-Check-Seiten? :)
 
Back
Top