XAMPP - Versenden von E-Mails via PHP über googlemail (php.ini und sendmail.ini edit)
Dies ist das erste Mal, dass ich ein Tutorial verfasse weil ich tagelang nach einer anständigen Lösung zu meinem Problem via XAMPP E-Mails zu versenden gesucht habe und nun hoffe dass ich Einigen mit meinem Lösungsvorschlag helfen kann.
Ich selber habe zwar mehrere (meist englische) Anleitungen im Netz gefunden, diese haben aber alle nicht bei mir funktioniert.
Die getätigten Einstellungen wurden auf folgenden OS getestet: XP, Win Server 2008 R2, Windows 7)
Nach der installation von XAMPP mit Apache und MySQL als Dienst öffnen wir zunächst die php.ini unter C:\XAMPP\PHP (ggf. Installationspfad überprüfen)
Dann sucht nach "smtp" und ändert folgende Parameter:
Den Rest der PHP.ini belassen wir, wie er ist und speichern die Datei ab.
Nun schauen wir unter C:\XAMPP\Sendmail nach der readme.html und laden dort die aktuelle sendmail.zip herunter. Wir ersetzen alle vorhandenen Files des Senmail-Ordners mit den soeben heruntergeladenen. dann öffnen wir die Sendmail.ini. Im Falle eines googlemail-Accounts sieht das ganze dann folgendermassen aus:
Wir speichern ab und vergessen NICHT den Apachen neu zu starten!
Wichtig ist noch, dass die ausgehenden Ports 25 und 465 geöffnet sind.
Zum testen, hier ein Script von IT-Runde.de. (Das PHP-Script, dass ich verwende gehört zu einem kommerziellen Programm, deswegen möchte ich es hier nicht posten):
Nun können wir endlich via PHP von Xampp aus unsere erste E-Mail versenden, dazu habe ich hier ein kleines Script, welches ihr einfach in eine Datei mit der Endung .php im Ordner „\xampp\htdocs“ speichern müsst.
Nun könnt ihr die Datei mit der Adresse http://localhost/DieDateiMitEuremDateiname.php in eurem Browser aufrufen, und sehen ob ihr alles richtig eingerichtet habt.
So ich hoffe, dass ich jemanden mit dem kleinen TUT helfen konnte, und dass ihr nun auch fleßig E-Mails versenden könnt.
Ich selber habe zwar mehrere (meist englische) Anleitungen im Netz gefunden, diese haben aber alle nicht bei mir funktioniert.
Die getätigten Einstellungen wurden auf folgenden OS getestet: XP, Win Server 2008 R2, Windows 7)
Nach der installation von XAMPP mit Apache und MySQL als Dienst öffnen wir zunächst die php.ini unter C:\XAMPP\PHP (ggf. Installationspfad überprüfen)
Dann sucht nach "smtp" und ändert folgende Parameter:
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost // Semikolon zum auskommentieren setzen
; http://php.net/smtp-port
;smtp_port = 25 // Semikolon zum auskommentieren setzen
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" ## --> zum aktivieren Semikolon entfernen (ggf. an Installationspfad anpassen)
Nun schauen wir unter C:\XAMPP\Sendmail nach der readme.html und laden dort die aktuelle sendmail.zip herunter. Wir ersetzen alle vorhandenen Files des Senmail-Ordners mit den soeben heruntergeladenen. dann öffnen wir die Sendmail.ini. Im Falle eines googlemail-Accounts sieht das ganze dann folgendermassen aus:
; configuration for fake sendmail
; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail
[sendmail]
; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.
smtp_server=smtp.gmail.com
; smtp port (normally 25)
smtp_port=25
;SMTPS (SSL) support
auto = use SSL for port 465, otherwise try to use TLS
ssl = alway use SSL
tls = always use TLS
none = never try to use SSL
smtp_ssl=auto
; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify
default_domain=gmail.com
; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging
error_logfile=error.log
; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging
;debug_logfile=debug.log
; if your smtp server requires authentication, modify the following two lines
auth_username=ACCOUNTNAME@gmail.com
auth_password=PASSWORT
; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines. do not enable unless it is required.
pop3_server=
pop3_username=
pop3_password=
; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content
force_sender=ACCOUNTNAME@gmail.com
; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content
force_recipient=
; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required
hostname=
Wichtig ist noch, dass die ausgehenden Ports 25 und 465 geöffnet sind.
Zum testen, hier ein Script von IT-Runde.de. (Das PHP-Script, dass ich verwende gehört zu einem kommerziellen Programm, deswegen möchte ich es hier nicht posten):
Nun können wir endlich via PHP von Xampp aus unsere erste E-Mail versenden, dazu habe ich hier ein kleines Script, welches ihr einfach in eine Datei mit der Endung .php im Ordner „\xampp\htdocs“ speichern müsst.
<?php
$subject = "Unsere erste E-Mail";
$to = "Empfänger E-Mail-Adresse";
$body = "Das ist Unsere erste E-Mail welche mir mit Xampp versendet haben";
if( mail($to, $subject, $body) ) {
echo "E-Mail ist versendet worden";
} else {
echo "E-Mail konnte nicht versendet werden";
}
?>
So ich hoffe, dass ich jemanden mit dem kleinen TUT helfen konnte, und dass ihr nun auch fleßig E-Mails versenden könnt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169768
Url: https://administrator.de/contentid/169768
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo
Hm, die beiden Ports: 25 und 465, sind das nicht die Ports des SERVERS !?
Also ausgehende Verbindungen auf den Zielport 25/465 dürfen nicht blockiert sein.
Ihr dürft nicht vergessen, das jeder der auf die Seite kommt, so über euren E-Mail-Accounr beliebig viele E-Mails versenden kann !
~Arano
Hm, die beiden Ports: 25 und 465, sind das nicht die Ports des SERVERS !?
DEIN PC -> Zufalls Port -> Internet -> 25/465 ->SERVER
Also ausgehende Verbindungen auf den Zielport 25/465 dürfen nicht blockiert sein.
Ihr dürft nicht vergessen, das jeder der auf die Seite kommt, so über euren E-Mail-Accounr beliebig viele E-Mails versenden kann !
~Arano
Zitat von @DanielLeib:
Genau danach habe ich heute noch gesucht!
Ich hab es noch nicht getestet aber...
BESTEN DANK!!!
Genau danach habe ich heute noch gesucht!
Ich hab es noch nicht getestet aber...
BESTEN DANK!!!
klappt! ...bei meiner privaten Mailadresse.
Durch den Unternehmensspamfilter kommt die mail leider nicht.
Kann ich ggf. einen Absander eintragen? Dies wird überprüft.