it-swarm.com.de

PHP-Mail-Setup in xampp

Ich lerne PHP und habe Xampp auf meinem Computer installiert.

Ich habe jedoch ein Problem mit dem Setup, da die E-Mail-Option nicht zu funktionieren scheint.

Nach einigem Lesen denke ich, dass es etwas mit dem Folgenden zu tun hat, das sich auf meinem Server in der Datei php.ini befindet

[mail function]   
; For Win32 only.   
; *hp://*php.net/smtp   
SMTP = localhost  
; http://php.net/smtp-port   
smtp_port = 25   

; For Win32 only.   
; http://php.net/sendmail-from   
;sendmail_from = [email protected]   

[Bitte beachten Sie, dass ich mich oben geändert habe hp: // von http: // wegen einer Beschränkung auf dieser Website, einen Hyperlink zu posten]

Muss ich etwas ändern? Ich habe Software wie Swiftmailer erwähnt gesehen, weiß aber nicht, ob Xampp diese bereits enthält? Alle Tipps wäre sehr dankbar!

Vielen Dank, James

24
James

Mein Lieblings-SMTP-Server ist hMailServer .

Es hat einen netten Windows-freundlichen Installer und Assistenten. Zweifellos der einfachste Mailserver, den ich je eingerichtet habe.

Es kann über Ihr Google Mail/Yahoo/etc-Konto einen Proxy erstellen oder E-Mails direkt senden.

Sobald es installiert ist, funktioniert E-Mail in xampp ohne Konfigurationsänderungen.

14
Byron Whitlock

XAMPP sollte mit einem "gefälschten" Sendmail-Programm geliefert worden sein. In diesem Fall können Sie auch sendmail verwenden:

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; 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 -i"

Sendmail sollte ein sendmail.ini damit; Es sollte so konfiguriert sein:

# Example for a user configuration file

# Set default values for all following accounts.
defaults
logfile "C:\xampp\sendmail\sendmail.log"

# Mercury
#account Mercury
#Host localhost
#from [email protected]
#auth off

# A freemail service example
account ACCOUNTNAME_HERE
tls on
tls_certcheck off
Host smtp.gmail.com
from EMAIL_HERE
auth on
user EMAIL_HERE
password PASSWORD_HERE

# Set a default account
account default : ACCOUNTNAME_HERE

Ersetzen Sie natürlich ACCOUNTNAME_HERE durch einen beliebigen Kontonamen, EMAIL_HERE durch eine gültige E-Mail (z. B. Gmail oder Hotmail) und PASSWORD_HERE durch das Kennwort für Ihre E-Mail. Nun sollten Sie in der Lage sein, E-Mails zu senden. Denken Sie daran, Apache neu zu starten (über die Systemsteuerung oder die Batch-Dateien), damit die Änderungen an PHP) funktionieren.

9
kevinji

Wenn auf Ihrem lokalen Computer kein Mailserver eingerichtet ist, hat die Einstellung SMTP = localhost keine Auswirkungen.

In früheren Zeiten (vor langer Zeit) war es ausreichend, den Wert von SMTP auf die Adresse des SMTP-Servers Ihres ISP zu setzen. Dies funktioniert jetzt nur noch selten, da die meisten Internetdienstanbieter auf der Authentifizierung mit einem Benutzernamen und einem Kennwort bestehen. Die Funktion PHP mail () unterstützt jedoch keine SMTP-Authentifizierung. Sie arbeitet direkt mit dem Mail-Transport-Agent des lokalen Servers zusammen.

Sie müssen entweder einen lokalen Mailserver einrichten oder PHP Klassen verwenden, die SMTP-Authentifizierung unterstützen, wie z. B. Zend_Mail oder PHPMailer. Die einfachste Lösung besteht jedoch darin, Ihr Mailverarbeitungsskript hochzuladen Ihr Remote-Server.

5
David Powers