Postfix SMTP empfangen per SMTPS weiterleiten
Hallo,
ich bin dabei einen Postfix aufzusetzen. Dieser soll Mail per SMTP empfangen und dann ganz normal an z.B. GMail-Konten weiterleiten. Empfangen muss ohne Verschlüsselung gehen.
Mail-Software(macht kein SMTPS)- (SMTP 25 ohne PW, internes Netzwerk)->Postfix-->Mailprovider (SMTPS, 465).
Leider versucht Postfix das ohne Verschlüsselung zu verteilen. Dies scheitert, da die ganzen Schrottfreemailer das nicht annehmen (die Mails die versendet werden sollen enthalten nur langweilige Statusinformationen)
Die Verbindung von SMTP-Client zu Postix funktioniert.
Wäre dieses Konstrukt überhaupt möglich?
Gäbe es bessere Lösungen?
EDIT: Konfigurationen rein
LG Marco
ich bin dabei einen Postfix aufzusetzen. Dieser soll Mail per SMTP empfangen und dann ganz normal an z.B. GMail-Konten weiterleiten. Empfangen muss ohne Verschlüsselung gehen.
Mail-Software(macht kein SMTPS)- (SMTP 25 ohne PW, internes Netzwerk)->Postfix-->Mailprovider (SMTPS, 465).
Leider versucht Postfix das ohne Verschlüsselung zu verteilen. Dies scheitert, da die ganzen Schrottfreemailer das nicht annehmen (die Mails die versendet werden sollen enthalten nur langweilige Statusinformationen)
Oct 3 18:50:15 Pentium4Server postfix/smtp[24033]: connect to mx00.emig.gmx.net[212.227.15.9]:25: Connection refused
Oct 3 18:50:15 Pentium4Server postfix/smtp[24033]: connect to mx01.emig.gmx.net[212.227.17.5]:25: Connection refused
Oct 3 18:50:16 Pentium4Server postfix/smtp[24033]: 953995610D9: to=<user@gmx.de>, relay=none, delay=0.44, delays=0.26/0.02/0.16/0, dsn=4.4.1, status=deferred (connect to mx01.emig.gmx.net[212.227.17.5]:25: Connection refused)
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
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
readme_directory = no
# See http:{{comment_single_line_double_slash:0}}
# fresh installs.
compatibility_level = 2
# 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
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = Pentium4Server
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, frazemc.de, Pentium4Server, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
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
readme_directory = no
# See http:{{comment_single_line_double_slash:0}}
# fresh installs.
compatibility_level = 2
# 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
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = Pentium4Server
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, frazemc.de, Pentium4Server, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
root@Pentium4Server:~# cat /etc/postfix/master.cf
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
#Commented out by DJK
smtp inet n - y - - smtpd
-o smtpd_tls_security_level=none
-o smtpd_sasl_auth_enable=no
#added by DJK
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#end added by DJK
#smtp inet n - y - 1 postscreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
#submission inet n - y - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_tls_auth_only=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#smtps inet n - y - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - y - - qmqpd
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
-o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
# mailbox_transport = lmtp:inet:localhost
# virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
Wäre dieses Konstrukt überhaupt möglich?
Gäbe es bessere Lösungen?
EDIT: Konfigurationen rein
LG Marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 388398
Url: https://administrator.de/forum/postfix-smtp-empfangen-per-smtps-weiterleiten-388398.html
Ausgedruckt am: 21.12.2024 um 14:12 Uhr
28 Kommentare
Neuester Kommentar
Moin,
Mit
In der main.cf funktioniert das eigentlich ohne Probleme. postfix nimmt Mails per smtp entgegen und schickt sie per smtp mit TLS/SSL weiter.
Wenn Du zusätzlich authentifiziert als ein bestimmter Benutzer schicken willst, erzeugst Du noch eine Datei /etc/postfix/sasl_passwd mit dem Inhalt
lks
Mit
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_security_level=may
In der main.cf funktioniert das eigentlich ohne Probleme. postfix nimmt Mails per smtp entgegen und schickt sie per smtp mit TLS/SSL weiter.
Wenn Du zusätzlich authentifiziert als ein bestimmter Benutzer schicken willst, erzeugst Du noch eine Datei /etc/postfix/sasl_passwd mit dem Inhalt
[mail.isp.beispiel]:587 username:password
lks
Zitat von @Windows10Gegner:
Irgendwie mache ich noch was falsch.
Er versucht immer noch Port 25 zu nutzen und diese wird abgelehnt. Ich vermute es muss 465 sein (so richte ich zumindest meine Mailclients immer ein)
Irgendwie mache ich noch was falsch.
Er versucht immer noch Port 25 zu nutzen und diese wird abgelehnt. Ich vermute es muss 465 sein (so richte ich zumindest meine Mailclients immer ein)
Wie ich schon oben sagte:
Datei /etc/postfix/sasl_passwd mit dem Inhalt
[mail.isp.beispiel]:465 username:password
smtp_use_tls = yes # Aktiviert TLS für Postfix
smtp_sasl_auth_enable = yes # Aktiviert SMTP AUTH für Postfix
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd # Gibt an wo Postfix die Zugangsdaten findet
Zitat von @Windows10Gegner:
Ich will eigentlich direkt von diesem Computer senden, nicht über einen ISP. Die Mails sollen direkt von diesem Computer kommen, oder lehnen das die Maildienste ab?
Ich will eigentlich direkt von diesem Computer senden, nicht über einen ISP. Die Mails sollen direkt von diesem Computer kommen, oder lehnen das die Maildienste ab?
Wenn Du eine mit einer dynamisch vergebenen Dialin-Adresse aus dem DSL-Vergabebereich der Provider kommst, lehen die meisten Provider das ab. Entweder Du sendest von einem Anschluß mit einer festen IP-Adresse oder über einen smarthost bei einem hoster.
lks
Sorry, aber Traceroute sagt hier mal gar nichts aus, das ist nur der Weg den die Pakete nehmen würden, wenn sie könnten.
Mach ein "telnet mx01.emig.gmx.net 25", da sollte dann folgendes erscheinen:
Wenn da refused kommt, hast du ein Problem mit der Firewall oder bist bei denen schon auf der Blacklist wegen zu viel rumversucherei.
Mach ein "telnet mx01.emig.gmx.net 25", da sollte dann folgendes erscheinen:
~$ telnet mx01.emig.gmx.net 25
Trying 212.227.17.5...
Connected to mx01.emig.gmx.net.
Escape character is '^]'.
220 gmx.net (mxgmx114) Nemesis ESMTP Service ready
Zitat von @bloodstix:
Mach ein "telnet mx01.emig.gmx.net 25", da sollte dann folgendes erscheinen:
Mach ein "telnet mx01.emig.gmx.net 25", da sollte dann folgendes erscheinen:
~$ telnet mx01.emig.gmx.net 25
> Trying 212.227.17.5...
> Connected to mx01.emig.gmx.net.
> Escape character is '^]'.
> 220 gmx.net (mxgmx114) Nemesis ESMTP Service ready
und wenn man geblacklistet ist, kommt:
$ telnet mx01.emig.gmx.net 25
Trying 212.227.17.5...
Connected to mx01.emig.gmx.net.
Escape character is '^]'.
554-gmx.net (mxgmx111) Nemesis ESMTP Service not available
554-No SMTP service
554-IP address is black listed.
554 For explanation visit http://postmaster.gmx.com/en/error-messages?ip=ip.adresse.des.anschlusses&c=bl
Connection closed by foreign host.
lks
Der Traceroute ist so unwahrscheinlich.
Deine Firewall an Hop 2 blockiert Port 25 ausgehend!
Das ist entweder dein Provider oder ein Gerät von dir. Wenn du den Traceroute mit ICMP oder einem anderen Port (der durchlässig ist) wiederholst wirst du sehen, welches Gerät das sein muss.
Dass da die Adresse von GMX auftaucht liegt daran, dass die Firewall ein TCP-RST generiert, und das muss mit der Source-IP kommen, zu der man hin will.
Deine Firewall an Hop 2 blockiert Port 25 ausgehend!
Das ist entweder dein Provider oder ein Gerät von dir. Wenn du den Traceroute mit ICMP oder einem anderen Port (der durchlässig ist) wiederholst wirst du sehen, welches Gerät das sein muss.
Dass da die Adresse von GMX auftaucht liegt daran, dass die Firewall ein TCP-RST generiert, und das muss mit der Source-IP kommen, zu der man hin will.
Zitat von @Windows10Gegner:
Scheint zu funktionieren.
> root@Pentium4Server:~# traceroute -T -p 25 mx01.emig.gmx.net
> traceroute to mx01.emig.gmx.net (212.227.17.5), 30 hops max, 60 byte packets
> 1 192.168.0.1 (192.168.0.1) 3.015 ms 4.638 ms 4.643 ms
> 2 mx01.emig.gmx.net (212.227.17.5) 8.803 ms 8.799 ms 8.786 ms
> root@Pentium4Server:~#
>
Nein. 2 Hops sind zuwenig, wenn Du nicht direkt im NachbarLAN von GMX in hängst. Wie "Moss" schon sagte, ist das eher von der Firewall.
Mach mal den telnet. Dann siehst Du, ob sich gmx überhaupt meldet oder die Verbindung vorher schon geblockt wird.
lks
Kenne mich mit Fritzboxen leider nicht aus. Es kann sein das die per Default so eine "Sichere Mailserver"-Funktion aktiviert haben. Hat unser Speedport von der TKOm auch gehabt. Da konnte man nur von Tkom in einer Liste hinterlegte Mailserver erreichen, alles andere wurde für Port 25 blockiert. Also mal Fritbox durchchecken!
Zitat von @bloodstix:
Kenne mich mit Fritzboxen leider nicht aus. Es kann sein das die per Default so eine "Sichere Mailserver"-Funktion aktiviert haben.
Kenne mich mit Fritzboxen leider nicht aus. Es kann sein das die per Default so eine "Sichere Mailserver"-Funktion aktiviert haben.
Nicht in der Standard-Firmware. man kann natürlich die Fritzbox-Firewall anweisen, kein smtp über Port 25 rauszulassen, weil die MUAs üblicherweise ja über Port 465 oder 587 Mails verschiecken.
lks
Welche Fritzbox mit welcher OS-version ist das denn überhaupt?
Kannst Du von einer Kiste, die direkt an der Fritzbox hängt per Telnet den SMPTS-Server erreichen?
lks