Mit PHP-Script E-Mail an GMX senden

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Mit PHP-Script E-Mail an GMX senden

Postby stegu1 » 31. January 2014 10:25

Hallo,

wie kann ich XAMPP so einstellen, dass ich mit einem PHP-Skript ein E-Mail an meine GMX-Adresse senden kann?

MFG Stegu
stegu1
 
Posts: 3
Joined: 31. January 2014 10:23
XAMPP Version: 1.8.3-3
Operating System: Windows 8 (64-Bit)

Re: Mit PHP-Script E-Mail an GMX senden

Postby Nobbie » 31. January 2014 13:15

Xampp alleine kann das nicht. Um Emails versenden zu können, benötigt man einen SMTP Server. Die mail() Funktion in Xampp stellt dabei nur die Schnittstelle zur Verfügung, welche Inhalte an wen geschickt werden sollen.

In php.ini muss die Einstellung getroffen werden, an welchem SMTP Server diese Mail übergeben wird (localhost ist dort voreingestellt). Das hat aber den (inzwischen unüberwindbaren) Nachteil, dass diese Schnittstelle es nicht ermöglicht, sich an einem SMTP Server anzumelden (es gibt schlicht keine Möglichkeit, einen Usernamen und ein Passwort anzugeben). Leider gibt es keine offiziellen SMTP Server mehr, die ohne Login arbeiten.

Im Xampp Paket ist außerdem mit MercuryMail ein Email Server enthalten, da ist auch ein sog. SMTP Server dabei, das musst Du dann aber einrichten und starten (ist nicht so ganz trivial). Dieser SMTP Server würde dann via localhost angesprochen, Du kannst dann einen eigenen SMTP aufbauen, der auch auf Login verzichtet. Da ist aber das Problem, dass Dein Absender mit einiger Sicherheit eine IP besitz (nämlich die, die Dein Provider vergeben hat), die von vielen Mail Hostern geblockt wird (mit Sicherheit bei GMX, die sind die Weltmeister im Blocken).

Die etwas einfachere Lösung besteht darin, das Paket sendmail (auch in Xampp enthalten) zu benutzen. Dazu muss in php.ini NICHT der SMTP Server localhost aktiviert werden, sondern man muss das Kommanda sendmail.exe aktivieren (das findest Du in php.ini).

In dem Ordner sendmail befindet sich ein Readme und ein sendmail.ini, in der sendmail.ini kannst Du dann seinerseits wieder einen anderen SMTP Server eintragen, hier ist es aber auch möglich, eine UserID und ein Passwort anzugeben, so dass man auf diesem Weg offizielle SMTP Server benutzen kann. Am einfachsten nimmst Du beispeilsweise dort den GMX SMTP Server, oder (falls Du dort einen Account hast) den von Googlemail. Es muss nur ein gültiger SMTP Server dort stehen und es muss ein gültiger User mit Passwort angeben werden.

Die letzte Möglichkeit besteht darin, diesen ganzen Hokus Pokus sein zu lassen (viele bekommen das nicht ans Laufen, obwohl es eigentlich nicht schwer ist, aber es ist lästig zu debuggen) und auch auf die PHP mail() Funktion zu verzichen, stattdessen den sog. "phpmailer" zu benutzen, das ist eine frei downloadbare PHP Klasse, die direkt Mails senden kann (allerdings auch nur via SMTP Server). Ich hatte da mal im englischsprachigen Bereich eine Demo, das war eigentlich festgetackert, aber ist nicht mehr da. Vielleicht weiß "Altrea" mehr dazu, wo diese Postings sind.

Aber beim phpmailer sind auch viele Beispiel dabei.

Und - ja, das ist kompliziert. Emails versenden ist nicht einfach. Man muss ziemlich genau wissen, was man tut und braucht.
Nobbie
 
Posts: 6500
Joined: 09. March 2008 13:04

Re: Mit PHP-Script E-Mail an GMX senden

Postby Altrea » 31. January 2014 14:25

Hallo stegu1,

Der Empfohlene Weg wäre, wie Nobbie zuletzt auch aufgeführt hat, ein fähiges PHP Paket wie PHPMailer oder Swiftmailer zu verwenden.

Das hat zum einen den Vorteil, dass du nichts an PHP konfigurieren musst sondern die Einstellungen in der Mailer-Konfiguration vornehmen (und damit auch einfacher portieren) kannst. Zum anderen bieten diese Pakete getestete Schnittstellen die, anders als die reine mail() Funktion, bereits Stolpersteine wie UTF-8, HTML-E-Mails und weiteres abfangen und Standardisiert abbilden können.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6491
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: Mit PHP-Script E-Mail an GMX senden

Postby stegu1 » 31. January 2014 15:06

Ich will die Methode mit der sendmail.ini-Datei versuchen.

Ich weiß nicht genau, ob die Einstellungen stimmen.
Besonders auth_username und auth_password in der Datei sendmail.ini verstehe ich nicht ganz. Wo ist der Unterschied zu pop3_username und pop3_password. Was davon soll ich jetzt ausfüllen?

Muss ich noch etwas in der Mercury-Admin-GUI einstellen?

Wenn ich das richtig verstehe, verwendet phpmailer eigene Funktionen im PHP-Code.
Das Problem dabei ist, dass das Programm schon geschrieben ist und es sehr mühsam wäre es anzupassen.

Eigentlich wollte ich euch den aktuellen Inhalt der sendmail.ini-Datei zeigen, aber ich erhalte dann die Fahlermeldung "Your post looks too spamy for a new user, please remove off-site URLs.".
stegu1
 
Posts: 3
Joined: 31. January 2014 10:23
XAMPP Version: 1.8.3-3
Operating System: Windows 8 (64-Bit)

Re: Mit PHP-Script E-Mail an GMX senden

Postby stegu1 » 31. January 2014 15:38

Ich überlege mir jetzt doch, ob ich es nicht mit phpmailer versuchen sollte.
Schließlich muss ich im Quellcode eigentlich nur die Zeilen mail($empfaenger, $betreff, $text, $from); zu require 'PHPMailerAutoload.php'; $mail = new PHPMailer; ....... umschreiben.
stegu1
 
Posts: 3
Joined: 31. January 2014 10:23
XAMPP Version: 1.8.3-3
Operating System: Windows 8 (64-Bit)

Re: Mit PHP-Script E-Mail an GMX senden

Postby Nobbie » 31. January 2014 16:49

stegu1 wrote:Ich weiß nicht genau, ob die Einstellungen stimmen.
Besonders auth_username und auth_password in der Datei sendmail.ini verstehe ich nicht ganz. Wo ist der Unterschied zu pop3_username und pop3_password. Was davon soll ich jetzt ausfüllen?


Bei den meisten Providern ist das das gleiche. Nur der Kontext ist anders, einmal reden wir von SMTP (Emailversand) und das andere mal von POP3 (Emailempfang). Möglicherweise kann dieses sendmail-Fake auch POP3 Empfang (habe ich noch nie probiert).

stegu1 wrote:Muss ich noch etwas in der Mercury-Admin-GUI einstellen?


Du brauchst GAR KEIN Mercury, wenn Du diesen sendmail.ini ausfüllst (mit GMX SMTP oder von Googlemail). Das ist ja der Witz - Du brauchst entweder oder.

stegu1 wrote:Wenn ich das richtig verstehe, verwendet phpmailer eigene Funktionen im PHP-Code.


Ja.
Das Problem dabei ist, dass das Programm schon geschrieben ist und es sehr mühsam wäre es anzupassen.

stegu1 wrote:Ich überlege mir jetzt doch, ob ich es nicht mit phpmailer versuchen sollte.
Schließlich muss ich im Quellcode eigentlich nur die Zeilen mail($empfaenger, $betreff, $text, $from); zu require 'PHPMailerAutoload.php'; $mail = new PHPMailer; ....... umschreiben.


Eben. Und es geht noch einfacher (deswegen vermisse ich ja meinen Beitrag): Du machst aus mail() einfach mailX() überall und inkludierst den Beispielcode von mir (Altrea ist hier Mod, der müßte wissen, wo die Beispiele hin sind, die sind weg). Das ist supereinfach. Und innerhalb der mailX() Funktion musst Du dann die entsprechenden Serverdaten eintragen (das ist auch total simpel). Schon läuft es ohne den PHP mail()-Krampf (das ist effektiv eine veraltete Schnittstelle).
Nobbie
 
Posts: 6500
Joined: 09. March 2008 13:04

Re: Mit PHP-Script E-Mail an GMX senden

Postby Altrea » 31. January 2014 17:56

Nobbie wrote:Eben. Und es geht noch einfacher (deswegen vermisse ich ja meinen Beitrag): Du machst aus mail() einfach mailX() überall und inkludierst den Beispielcode von mir (Altrea ist hier Mod, der müßte wissen, wo die Beispiele hin sind, die sind weg).

Der Beitrag ist (wie viele andere als Wichtig oder Bekanntmachung markierten Beiträge) in den inneren Bereich gewandert um sich einer Neustrukturierung zu unterziehen. Ich habe da die Idee von einer zentralen Anlaufstelle für solche und ähnlicher Tipps rund um XAMPP.

Ich habe ihn mal zu einem Standardthema herabgestuft und zurück in das XAMPP for Windows Forum geschubst.
Er ist nun hier zu finden: viewtopic.php?f=16&t=52984
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6491
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 17 guests