# ISPConfig3:Externer Mailserver & Mailversand über Webseite



## hunter999 (17. Feb. 2010)

Hallo,

sicher haben einige von euch auch eine derartige Konstellation (mit Externem Mailserver) und ich möchte mal fragen wie ihr das "Problem" löst.
Wir haben eine reihe von Webseiten bei denen der Mailversand nur via PHP funktioniert. Nun stehe ich vor dem Problem wie ich diesen überhaupt funktionsfähig machen kann ohne ein Open Relay zu betreiben?
Wie macht ihr das?


----------



## Till (17. Feb. 2010)

Du brauchst nur die Webseite und co-domain auf externen mailserver stellen.


----------



## hunter999 (17. Feb. 2010)

Hallo Till,

wie mache ich das in der 3´er Version vom ISPConfig?


----------



## Till (17. Feb. 2010)

Garnicht, da nicht notwendig. In ISPConfig 3 sind doch websites und email domains getrennt.


----------



## hunter999 (17. Feb. 2010)

Sorry da haben wir uns mißverstanden.
Ich habe ja die ISP3 auf dem Webserver und Mailserver drauf.
Kennst du ja die Konstellation ;-).
Nun habe ich auf dem Webserver auch Webseiten liegen welche nur via PHP Mails verschicken können.
Da auf dem Webserver aber keinerlei MTA´s installiert sind gehen diese natürlich nicht raus.
Ich brauche quasi nur mal nen Tipp wie das andere machen um Mails via PHP zu verschicken. Ich habe viel über die Sendmail geschichte gelesen bin mir aber nicht sicher wie ich das sinnvoll für einzelne Web´s konfigurieren kann.


----------



## Till (17. Feb. 2010)

Ein MTA sollte grundsätzlich auf jedem Server installiert sein, sonst funktioniert viele Software inkl. des Linux eigenen messaging systems nicht. Installier also postfix und konfigurier ihn so, dass er nur auf 127.0.0.1 lauscht.


----------



## hunter999 (17. Feb. 2010)

Hallo Till,

sollte das damit mit dieser main.cf funktionieren?


```
# 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 (Debian/GNU)
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

# 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.

myhostname = srv01.webserver.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = srv01.webserver.de, localhost.webserver.de, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error
```
inet_interfaces = loopback-only ist ja der Parameter um das der Postfix nur lokal lauscht oder?

Das Problem ist, er nimmt die Mails zwar an und tut auch so als wenn er sie verschickt aber ankommen tut nix. Da steht immer nur "bounced": 


```
Feb 17 11:31:49 srv01 postfix/pickup[16332]: 1277699E5A8: uid=33 from=<www-data>
Feb 17 11:31:49 srv01 postfix/cleanup[16449]: 1277699E5A8: message-id=<20100217103149.1277699E5A8@srv01.webserver.de>
Feb 17 11:31:49 srv01 postfix/qmgr[16333]: 1277699E5A8: from=<www-data@srv01.webserver.de>, size=353, nrcpt=1 (queue active)
Feb 17 11:31:49 srv01 postfix/error[16451]: 1277699E5A8: to=<info@test.de>, relay=none, delay=0.06, delays=0.04/0/0/0.02, dsn=5.0.0, status=bounced (test.de)
Feb 17 11:31:49 srv01 postfix/cleanup[16449]: 1E2CB99E5A9: message-id=<20100217103149.1E2CB99E5A9@srv01.webserver.de>
Feb 17 11:31:49 srv01 postfix/qmgr[16333]: 1E2CB99E5A9: from=<>, size=2189, nrcpt=1 (queue active)
Feb 17 11:31:49 srv01 postfix/bounce[16452]: 1277699E5A8: sender non-delivery notification: 1E2CB99E5A9
Feb 17 11:31:49 srv01 postfix/qmgr[16333]: 1277699E5A8: removed
Feb 17 11:31:49 srv01 postfix/local[16453]: 1E2CB99E5A9: to=<www-data@srv01.webserver.de>, relay=local, delay=0.04, delays=0.01/0/0/0.03, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 17 11:31:49 srv01 postfix/qmgr[16333]: 1E2CB99E5A9: removed
```


----------



## Beme (18. Feb. 2010)

Ich würde den www-Postfix so konfigurieren, dass er die Mails zwar empfängt, aber dann zum weiterne Versand um richtigen Mailserver weiterleitet.

Im www-Postfix in der main.cf IP-Adresse des Mailservers zu relayhosts hinzufügen:
relayhost = 1.2.3.4 

Im richtigen Mailserver in der main-cf die IP-Adresse des www-Postfix (bsp. 5.6.7.8) zu mynetworks hinzufügen. Das hat den Sinn, dass der www-Postfix nun direkt über den Mailserver relayen darf, ohne sich zu authentifizieren.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 5.6.7.8

Viel Spass..


----------



## hunter999 (18. Feb. 2010)

Hallo Beme,

danke für deine Antwort.
Ich habe wie von dir vorgeschlagen in den Servern die jeweils andern IP´s eingetragen.
Nach einem test funktionierte es aber immer noch nicht.
Nun habe ich mal ein postconf -d gemacht und mir ist aufgefallen das hinter 
relayhost = 
nichts steht. Es scheint so als wenn er trotz reboot des gesamten servers die Änderung nicht annimmt. Hast du eine Idee woran das wieder liegt?
Danke!


----------



## Beme (18. Feb. 2010)

Hm, bei mir siehts so aus (also mit eckigen Klammern), kannst ja nochmal probieren.:


```
# 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 (Debian/GNU)
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 = /usr/share/doc/postfix

# 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.

myhostname = www1.domain.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = www1.domain.de, localhost.domain.de, , localhost
relayhost = [mail.domain.de]
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
```


----------



## hunter999 (18. Feb. 2010)

Hallo Beme,

es klappt einfach nicht richtig. Ich poste nochmal meine main.cf:


```
# 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 (Debian/GNU)
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

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.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.

myhostname = srv01.webserver.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = srv01.webserver.de, localhost.webserver.de, localhost
relayhost = [ip des mailservers]
smtp_sasl_auth_enable = no
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
default_transport = error
relay_transport = error
```
Im Protokoll wird folgendes angezeigt:


```
Feb 18 08:42:25 srv01 postfix/pickup[22688]: D650F99E5A9: uid=1014 from=<web26>
Feb 18 08:42:25 srv01 postfix/cleanup[22749]: D650F99E5A9: message-id=<25517d39c7f35dfbc237e148622d9a29@www.webseite.de>
Feb 18 08:42:25 srv01 postfix/qmgr[22689]: D650F99E5A9: from=<web26@srv01.webserver.de>, size=1536, nrcpt=1 (queue active)
Feb 18 08:42:25 srv01 postfix/error[22751]: D650F99E5A9: to=<test@googlemail.com>, relay=none, delay=0.1, delays=0.07/0/0/0.02, dsn=5.0.0, status=bounced ([188.40.97.76])
Feb 18 08:42:25 srv01 postfix/cleanup[22749]: E3DF699E5AA: message-id=<20100218074225.E3DF699E5AA@srv01.webserver.de>
Feb 18 08:42:25 srv01 postfix/bounce[22752]: D650F99E5A9: sender non-delivery notification: E3DF699E5AA
Feb 18 08:42:25 srv01 postfix/qmgr[22689]: E3DF699E5AA: from=<>, size=3456, nrcpt=1 (queue active)
Feb 18 08:42:25 srv01 postfix/qmgr[22689]: D650F99E5A9: removed
Feb 18 08:42:25 srv01 postfix/local[22753]: E3DF699E5AA: to=<web26@srv01.webserver.de>, relay=local, delay=0.04, delays=0.01/0/0/0.03, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 18 08:42:25 srv01 postfix/qmgr[22689]: E3DF699E5AA: removed
```
Beim Mailserver habe ich in der main.cf nur die IP des Webservers eingetragen:


```
mynetworks = 127.0.0.0/8 [::1]/128 123.456.789.111
```
Vielleicht siehst du noch wo es klemmt...


----------



## hunter999 (18. Feb. 2010)

So Leute ich habs hinbekommen.
Fragt nicht wieso, aber ich hab nochmal via dpkg-reconfigure postfix alles nochmal eingestellt und nun klappt es.
Danke nochmal für eure Mühe!


----------



## Beme (18. Feb. 2010)

Gern geschehen, freut mich 

Bis dann mal..


----------

