Wie konfiguriere ich XAMPP zum Senden von E-Mails von localhost?
255
Ich versuche, E-Mails von localhost zu senden. Aber ich kann die Mail nicht von localhost senden, daher kann mir jemand sagen, wie ich meine xampp neu konfigurieren kann, um Mail von localhost zu senden
Es ist unmöglich zu helfen, wenn Sie uns nicht die aktuelle Konfiguration geben.
Arkascha
1
Ist dies unter Einbeziehung von Mercury (ApacheFriends XAMPP 1.8.2) noch relevant? Ich würde ja denken, aber wenn es Leute gibt, die Merkur bevorzugen, geben Sie bitte unten an. :) Vielen Dank!
Sie können E-Mails von localhost mit dem sendmail-Paket senden. Das sendmail-Paket ist in XAMPP integriert. Wenn Sie also XAMPP verwenden, können Sie problemlos E-Mails von localhost senden.
zum Beispiel können Sie konfigurieren C:\xampp\php\php.iniund c:\xampp\sendmail\sendmail.inifür gmail Mail zu versenden.
in C:\xampp\php\php.inifinden extension=php_openssl.dllund das Semikolon aus dem Anfang der Zeile entfernen SSL arbeitet für gmail für localhost zu machen.
in der Datei php.ini suchen [mail function]und ändern
Jetzt hast du es geschafft !! Erstellen Sie eine PHP-Datei mit Mail-Funktion und senden Sie Mail von localhost.
PS: Vergessen Sie nicht, meine-gmail-ID und mein-gmail-Passwort im obigen Code zu ersetzen . Vergessen Sie auch nicht, doppelte Schlüssel zu entfernen, wenn Sie die Einstellungen von oben kopiert haben. Beispiel: Kommentieren Sie die folgende Zeile, wenn es einen anderen sendmail_path gibt : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"in der Datei php.ini
Denken Sie auch daran, den Server über das XAMMP-Kontrollfeld neu zu starten, damit die Änderungen wirksam werden.
Abgesehen von den oben genannten Konfigurationen musste ich meine sendmail glob.com.au/sendmail
kaz
1
Ich musste ein Upgrade von XAMMP 1.7.7 auf 2.8.2.3 durchführen - sendmail ist im neueren XAMPP enthalten. Ich habe vor einigen Monaten versucht, ein neueres sendmail mit 1.7.7 zu verwenden, konnte es jedoch nicht zum Laufen bringen. Schließlich habe ich die Kugel gebissen und das neue XAMPP verwendet, und es funktioniert wie beschrieben.
VanAlbert
2
Ich glaube, der Speicherort C: \ xampp \ php \ php.ini bezieht sich auf Windows-Umgebungen. Für Mac suchen Sie in xamppfiles / etc nach Ihrer php.ini-Datei.
Paul Trotter
3
@ Vikas Antwort war am besten, aber bitte beachten Sie, dass die Verwendung der Standard-SSL auf smtp_port unter bestimmten Bedingungen möglicherweise nicht funktioniert. Die Verwendung von 465 als Antwort von Thirumalai Murugan hat angegeben, dass dies tatsächlich für mich
behoben wurde
2
Es funktioniert perfekt mit XAMPP Version 7.0.15. Vergessen Sie nicht, das Semikolon daraus zu entfernen und sich mit derselben Google Mail-ID anzumelden , die Sie konfiguriert haben. Gehen Sie dann zum folgenden Link: myaccount.google.com/lesssecureapps?pli=1 und Weniger sichere Apps zulassen: EIN Jetzt können Sie die Mail direkt vom XAMPP localhost
senden
35
In XAMPP v3.2.1 können Sie zu Testzwecken die E-Mails sehen, die XAMPP in XAMPP / mailoutput sendet. In meinem Fall unter Windows 8 war keine zusätzliche Konfiguration erforderlich und eine einfache Lösung zum Testen von E-Mails
Und wenn dies nicht funktioniert, überprüfen Sie Ihre Zeile c:\xampp\php\php.ini, suchen Sie nach ihr [mail function]und kommentieren Sie sie aus mailtodisk.exe. Lassen Sie jede andere Zeile in diesem Abschnitt mit Ausnahme der mail.add_x_headereinen auskommentiert.
Tim Malone
3
Als Ergänzung zu meinem obigen Kommentar müssen Sie für die neueren Versionen von XAMPP möglicherweise die Mailtodisk-Zeile manuell hinzufügen. Es sollte ungefähr so aussehen:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Tim Malone
Ein zusätzlicher Nachtrag zum Kommentieren von @TimMalone. Ich fand, dass Mail nur an XAMPP / mailoutput geschrieben werden würde, wenn XAMPP als admin ausgeführt würde
sohail
@sohail: Sie müssen XAMPP nicht als Administrator ausführen, aber Sie müssen allen Benutzern die Erlaubnis geben, in den Ordner XAMPP / mailoutput zu schreiben (Rechtsklick auf Ordner> Sicherheit> Alle Benutzer> Bearbeitungsberechtigungen> Vollzugriff)
cheppsn
@ TimMalone Ich habe die beiden Vorschläge angewendet, aber nichts im Mailoutput-Verzeichnis, auch nach so vielen Versuchen
Vipul Hadiya
25
Es ist sehr einfach, E-Mails auf localhost oder einem lokalen Server zu senden
Hinweis: Ich verwende die Test-Mail-Server-Software unter Windows 7 64-Bit mit installiertem Xampp
Laden Sie einfach das Test Mail Server Tool herunter und installieren Sie es gemäß den Anweisungen auf der Website Test Mail Server Tool
Jetzt müssen Sie nur noch zwei Zeilen unter php.iniDatei ändern
Suchen [mail function]und entfernen Sie das vorhergehende Semikolon;smtp = localhost
Setzen Sie das Semikolon vor sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Sie müssen nichts anderes ändern, aber wenn Sie immer noch keine E-Mails erhalten, als nach dem zu suchen SMTP port, muss die Portnummer dieselbe sein.
Die obige Methode gilt für Standardeinstellungen, die von der Xampp-Software bereitgestellt werden.
Dies ist eine wirklich großartige Lösung, schnell und einfach, und ich kann sofort mit der Arbeit beginnen. Das lokale Herumspielen mit Mailservern ist ein Problem, wenn es nur für Entwickler ist.
AdheneManx
1
Danke, ich habe dies auch zum Testen meines Projekts verwendet.
Piseth Sok
19
Sie müssen SMTP auf Ihrem Server konfigurieren . Sie können G Suite SMTP von Google kostenlos verwenden:
<?php
$mail =newPHPMailer(true);// Send mail using Gmailif($send_using_gmail){
$mail->IsSMTP();// telling the class to use SMTP
$mail->SMTPAuth=true;// enable SMTP authentication
$mail->SMTPSecure="ssl";// sets the prefix to the servier
$mail->Host="smtp.gmail.com";// sets GMAIL as the SMTP server
$mail->Port=465;// set the SMTP port for the GMAIL server
$mail->Username="[email protected]";// GMAIL username
$mail->Password="your-gmail-password";// GMAIL password}// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject="My Subject";
$mail->Body="Mail contents";try{
$mail->Send();
echo "Success!";}catch(Exception $e){// Something went bad
echo "Fail :(";}?>
@ Vikas Antwort war am besten, aber bitte beachten Sie, dass die Verwendung der Standard-SSL auf smtp_port unter bestimmten Bedingungen möglicherweise nicht funktioniert. Die Verwendung von 465, wie in dieser Antwort angegeben, wurde tatsächlich für mich
behoben
Ich habe die Antwort von @Vikas verwendet, aber ich habe ein Fragment von Ihnen verwendet, dh 465 als emtp_port verwendet.
Trotzdem
Schwerwiegender
Shafizadeh
7
Wie in meiner persönlichen Erfahrung habe ich festgestellt, dass die Antwort von Vikas Dwivedi sehr ähnlich funktioniert.
Schritt 1 (Datei php.ini)
In der php.ini Datei befindet sich in xampp\php\php.ini. Ändern Sie die Einstellungen wie folgt:
Dieser Code wird für die E-Mails von Ihrem localhost XAMPP und Ihrem Google Mail-Konto verwendet. Dieser Code ist sehr einfach und funktioniert für mich. Versuchen Sie es selbst.
NB: Der Port sollte nicht verwendet werden. Bitte beachten Sie, dass einige Anwendungen wie Skypedie Standardports verwenden und dort das Versenden von E-Mails verhindern.
Sie können verhindern, dass Skype Port 80 verwendet. Die Verbindungseinstellungen von Skype
Astroanu
0
Ich habe gerade über eine Stunde damit verbracht, diese Arbeit zu machen. Für alle, die die gleichen Probleme mit all den Vorschlägen haben, die nicht funktionieren: Sie müssen Apache in Ihrer XAMPP-Oberfläche neu starten! Nur ein Neustart von XAMPP funktioniert nicht !!
Ich habe viele Möglichkeiten ausprobiert, um eine E-Mail von XAMPP Localhost zu senden. Da XAMPP jedoch kein SSL-Zertifikat besitzt, wurde meine E-Mail-Anfrage von Google Mail oder ähnlichen SMTP-Dienstanbietern blockiert.
Dann habe ich MailHog für den lokalen SMTP-Server verwendet. Sie müssen es nur ausführen. localhost: 1025 ist für den SMTP-Server, localhost: 8025 für den Mailserver, auf dem Sie die von Ihnen gesendeten E-Mails überprüfen können.
Hier ist mein Code:
require_once "src/PHPMailer.php";
require_once "src/SMTP.php";
require_once "src/Exception.php";
$mail =newPHPMailer\PHPMailer\PHPMailer();//Server settings
$mail->SMTPDebug=3;// Enable verbose debug output
$mail->isSMTP();// Send using SMTP
$mail->Host='localhost';// Set the SMTP server to send through
$mail->Port=1025;// TCP port to connect to// $mail->Username = ''; // SMTP username// $mail->Password = ''; // SMTP password// $mail->SMTPAuth = true; // Enable SMTP authentication// $mail->SMTPSecure = 'tls'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted//Recipients
$mail->setFrom('[email protected]','Mailer');
$mail->addAddress('[email protected]','Joe User');// Add a recipient// Content
$mail->isHTML(true);// Set email format to HTML
$mail->Subject='Here is the subject';
$mail->Body='This is the HTML message body <b>in bold!</b>';
$mail->AltBody='This is the body in plain text for non-HTML mail clients';if(!$mail->Send()){
echo "Mailer Error: ". $mail->ErrorInfo;}else{
echo "Message sent!";}
Antworten:
Sie können E-Mails von localhost mit dem sendmail-Paket senden. Das sendmail-Paket ist in XAMPP integriert. Wenn Sie also XAMPP verwenden, können Sie problemlos E-Mails von localhost senden.
zum Beispiel können Sie konfigurieren
C:\xampp\php\php.ini
undc:\xampp\sendmail\sendmail.ini
für gmail Mail zu versenden.in
C:\xampp\php\php.ini
findenextension=php_openssl.dll
und das Semikolon aus dem Anfang der Zeile entfernen SSL arbeitet für gmail für localhost zu machen.in der Datei php.ini suchen
[mail function]
und ändernJetzt öffnen
C:\xampp\sendmail\sendmail.ini
. Ersetzen Sie den gesamten vorhandenen Code in sendmail.ini durch den folgenden CodeJetzt hast du es geschafft !! Erstellen Sie eine PHP-Datei mit Mail-Funktion und senden Sie Mail von localhost.
PS: Vergessen Sie nicht, meine-gmail-ID und mein-gmail-Passwort im obigen Code zu ersetzen . Vergessen Sie auch nicht, doppelte Schlüssel zu entfernen, wenn Sie die Einstellungen von oben kopiert haben. Beispiel: Kommentieren Sie die folgende Zeile, wenn es einen anderen sendmail_path gibt :
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
in der Datei php.iniDenken Sie auch daran, den Server über das XAMMP-Kontrollfeld neu zu starten, damit die Änderungen wirksam werden.
Für Google Mail überprüfen Sie bitte https://support.google.com/accounts/answer/6010255 , um den Zugriff von weniger sicheren Apps aus zu ermöglichen.
quelle
In XAMPP v3.2.1 können Sie zu Testzwecken die E-Mails sehen, die XAMPP in XAMPP / mailoutput sendet. In meinem Fall unter Windows 8 war keine zusätzliche Konfiguration erforderlich und eine einfache Lösung zum Testen von E-Mails
quelle
c:\xampp\php\php.ini
, suchen Sie nach ihr[mail function]
und kommentieren Sie sie ausmailtodisk.exe
. Lassen Sie jede andere Zeile in diesem Abschnitt mit Ausnahme dermail.add_x_header
einen auskommentiert.sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Es ist sehr einfach, E-Mails auf localhost oder einem lokalen Server zu senden
Hinweis: Ich verwende die Test-Mail-Server-Software unter Windows 7 64-Bit mit installiertem Xampp
Laden Sie einfach das Test Mail Server Tool herunter und installieren Sie es gemäß den Anweisungen auf der Website Test Mail Server Tool
Jetzt müssen Sie nur noch zwei Zeilen unter
php.ini
Datei ändern[mail function]
und entfernen Sie das vorhergehende Semikolon;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Sie müssen nichts anderes ändern, aber wenn Sie immer noch keine E-Mails erhalten, als nach dem zu suchen
SMTP port
, muss die Portnummer dieselbe sein.Die obige Methode gilt für Standardeinstellungen, die von der Xampp-Software bereitgestellt werden.
quelle
Sie können das Senden von E-Mails auf Ihrem PC ohne Internet testen
Sie sollten Papercut dieser einfachen Anwendung verwenden, um das Senden von E-Mails zu testen. und Sie müssen nichts konfigurieren.
Führen Sie es einfach aus und testen Sie das Senden von E-Mails:
test_sendmail.php
und du wirst das sehen:
Ich hoffe du hast einen guten Tag. Sie können mich auf Youtube für mehr Tutorial Piseth Sok finden
Jubeln!
quelle
Sie müssen SMTP auf Ihrem Server konfigurieren . Sie können G Suite SMTP von Google kostenlos verwenden:
Lesen Sie mehr über
PHPMailer
hier .quelle
Wie in meiner persönlichen Erfahrung habe ich festgestellt, dass die Antwort von Vikas Dwivedi sehr ähnlich funktioniert.
Schritt 1 (Datei php.ini)
In der php.ini Datei befindet sich in
xampp\php\php.ini
. Ändern Sie die Einstellungen wie folgt:Schalten Sie andere Variablen aus,
mail funciton
indem Sie sie vorlegen;
. z.B;smtp_port=25
Schritt 2 (sendmail.ini Datei)
Ändern Sie in sendmail.ini unter xampp \ sendmail \ semdmail.ini Folgendes:
Schritt 3 (Code)
Erstellen Sie eine PHP-Datei und verwenden Sie die folgenden:
Beachten
quelle
Dieser Code wird für die E-Mails von Ihrem localhost XAMPP und Ihrem Google Mail-Konto verwendet. Dieser Code ist sehr einfach und funktioniert für mich. Versuchen Sie es selbst.
Unten Änderung in der php.ini-Datei
Unter Ändern in sendmail.ini-Datei
Bitte schreiben Sie den obigen Code in Ihre PHP-Datei, um eine E-Mail zu senden
quelle
SMTP
Dazu müssen Sie einen Server und einen Port definieren . Alle außer dem Versenden von Mails von Live-Hosts.Dies ist ein nützlicher Link dazu .
quelle
Ich habe gerade über eine Stunde damit verbracht, diese Arbeit zu machen. Für alle, die die gleichen Probleme mit all den Vorschlägen haben, die nicht funktionieren: Sie müssen Apache in Ihrer XAMPP-Oberfläche neu starten! Nur ein Neustart von XAMPP funktioniert nicht !!
quelle
Ich habe viele Möglichkeiten ausprobiert, um eine E-Mail von XAMPP Localhost zu senden. Da XAMPP jedoch kein SSL-Zertifikat besitzt, wurde meine E-Mail-Anfrage von Google Mail oder ähnlichen SMTP-Dienstanbietern blockiert.
Dann habe ich MailHog für den lokalen SMTP-Server verwendet. Sie müssen es nur ausführen. localhost: 1025 ist für den SMTP-Server, localhost: 8025 für den Mailserver, auf dem Sie die von Ihnen gesendeten E-Mails überprüfen können.
Hier ist mein Code:
MailHog Github Repository Link
quelle
Bitte beachten Sie zusätzlich zu allen Antworten, dass in der
sendmail.ini
Datei:Aufgrund neuer Sicherheitsbedenken bei Google sollten Sie die folgenden Schritte ausführen, um ein Anwendungskennwort für diesen Zweck zu erstellen:
quelle