# Mail-Server einrichten + Mails senden



## priest-priester (8. März 2006)

Hallo,
ich habe Mercury Mail wie auf dieser Seite: http://www.bananajoe.de/mercury32.html beschrieben eingerichtet. Nun wenn ich Mails über Outlook versenden will, kann ich nur intern Mails senden, nicht aber an z.B. test@web.de!? Sondern nur an, test@192.168.0.1 oder wie auch immer...... warum? Wie richte ich es ein, das die mails überall ankommen?
Diese Frage steht hier im PHP Forum da mein letztes Ziel ist, per PHP die Mail zu senden, aber dazu muss ja erst einmal der Mailserver stehen.
Ich hoffe ihr könnt mir bei dem Weg weiterhelfen, habe schon hin und her experementiert, hat aber alles irgendwie nicht geklappt.
Vielen Dank schon im Vorraus!


----------



## Sinac (8. März 2006)

Das hat trotzdem nichts im PHP-Forum verloren!


----------



## priest-priester (9. März 2006)

Ja okay, das hat noch nix damit zu tun, ....
Wie kriege ich es denn hin mit meinem Mailserver nicht nur lokal zu senden, sondern beispielsweise auch an web.de user Was muss ich in der Kofiguration des Mercury Mail servers ändern?


PS: gibt es vielleicht noch alternativen zu dem mail() Befehl


----------



## Dennis Wronka (10. März 2006)

Damit Du an beliebige Mail-Server senden kannst sind folgende Voraussetzungen zu erfuellen:

Der SMTP-Server muss von aussen erreichbar sein, also auf Port 25 muss vom Internet aus zugegriffen werden koennen.
Der Server muss unter dem Namen den er angibt erreichbar sein. Du benoetigst also einen DynDNS-Hostnamen den dann Dein Mail-Server verwenden kann.
Und auch dann wird es noch Server geben die Deine Mails nicht akzeptieren oder als Spam werten weil dort die IP mittels Reverse-DNS in einen Hostnamen umgewandelt wird und dabei nicht der DynDNS-Hostname rauskommt sondern der den Du vom ISP bekommen hast.

Nachtrag: Ach ja, ich hab da auch eine Alternative zum Befehl mail() anzubieten. Und zwar eine nette, kleine SMTP-Klasse.


----------



## gorim (10. März 2006)

such in der Anleitung mal nach smarthost, evtl auch nach Relay. Wenn du dynamisch angebunden bist, mußt du sowieso zwingend über deinen Provider senden. Ansonsten kommen viele E.Mails zurück.

bis dann
gorim


----------



## priest-priester (10. März 2006)

okay, wenn ich eh über mein Provider senden muss, kann ich doch sicher auch gleich über einen externen server via php senden oder? -dann brauch ich ja eigentlich kein eigenen Mailserver.
Aber wenn ich per PHP sende kommt immer die Fehlermeldung:
"Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in F:\Server\mail.php on line 37"

....okay, da stimmt dann wohl ne Einstellung nicht aber was muss ich einstellen?


----------



## Dennis Wronka (10. März 2006)

Wenn Du einen lokalen Mail-Server hast sollte die Information Port 25 an localhost zu 99% richtig sein. Es gibt Ausnahmen, aber wie gesagt, das sind Ausnahmen. 

Und nochmal zur Erinnerung:


			
				mir hat gesagt.:
			
		

> Nachtrag: Ach ja, ich hab da auch eine Alternative zum Befehl mail() anzubieten. Und zwar eine nette, kleine SMTP-Klasse.


----------



## priest-priester (10. März 2006)

Und wenn ich kein lokalen Mailserver habe, was muss ich dann angeben in der php.ini oder müssen noch andere Änderungen gemacht werden.
Deine alternative zum Mail() Befehl gef#ällt mir nur leider komme ich irgendwie nicht ganz klar, gibt es vielleicht ein Beispiel Formular in dem dies genutzt wird?


----------



## Dennis Wronka (11. März 2006)

Das Problem bei der Nutzung eines Mail-Servers im Internet wird sein, dass dort wohl oft ein Login notwendig sein duerfte, oder POP-before-SMTP. Beides halt Techniken um Spammern den Zugang zu verwaehren. Ich weiss nicht ob Du in der php.ini einstellen kannst, dass mail() sich am Server anmeldet.
Ich werd gleich mal schauen, ich muesste irgendwo ein Beispiel fuer die Klasse rumfliegen haben. Ansonsten schreib ich Dir fix eins.


----------



## gorim (11. März 2006)

Ich hatte eher germeint, daß du den Mercury lokal einsetzt und zum laufen bringst. Mails an externe Empfänger soll er aber über einen Smarthost bei deinen Provider verschicken. Ich weiß daß er das kann, leider ist es viel zu lange her um mich an Einzelheiten zu erinnern. Wenn der Mercury soweit funktioniert, dürfte das php-Script auch einfacher zu realisieren sein.

Habe mir den Link mal genauer durchgelesen. Gleich auf der ersten Seite gibt es das Feld _address of host via which to send mail_. Dort muß der Host vom Provider rein. Das ist der gleiche wie im deinem jetzigen Mailclient. Wie oben schon gesagt reicht das nicht, weil keine Anmeldedaten vorhanden sind. Die Beschreibung geht auch nicht näher drauf ein.

Schau mal in das Modul _MercuryS SMTP Server_ unter _Relay/Configuration_. Das scheint das richtige zu sein. Wenn Du nicht weiterkomsmt mach einen Screenshot und stell ihn hier rein.


bis dann
gorim


----------



## priest-priester (16. März 2006)

"Received: from [210.10.111.112] (helo=USER)
by smtp07.web.de with asmtp (WEB.DE 4.106 #94)
id 1FJv6O-00006Q-00
for user@web.de; Thu, 16 Mar 2006 17:13:28 +0100
Received: from localhost (HELO USER) [127.0.0.1]
by WEISS (192.168.0.100) 
with SMTP (Classic Hamster Version 2.1 Build 2.1.0.0) ; Thu, 16 Mar 2006 17:14:16 +0100"
wenn ich jetzt mails sende steht immer dies im Header, und wenn ich mails an einige accounts sende werden diese nicht empfangen, ich nehme an es liegt daran das dieser server mitbekommt das die usprüngliche nachricht vom localhost kommt...und daher als spam indendifiziert wird. Kann das sein? Wenn ja, wie kann ich dem entgegenwirken?
Vielen Dank
Ach so, hab jetzt wie man ja im header sieht die Mails nicht mit mercury sondern mit hamster gesendet!


----------

