Ich habe den ganzen Morgen damit verbracht, im Internet nach einer Lösung dafür zu suchen. Ich habe wamp server unter Windows 8.1 installiert und versuche, einige Mails mit sendmail ( http://glob.com.au/sendmail/ ) und meinem Google Mail-Konto zu senden
Wenn ich sendmail für die Verwendung von Port 465 konfiguriere, erhalte ich immer den folgenden Fehler: Socket Error # 10060Connection timeout
Wenn ich versuche, Port 587 zu verwenden, erhalte ich diese Zeile im Fehlerprotokoll: Connection Closed Gracefully. Es wird jedoch keine E-Mail gesendet.
Dies ist meine sendmail.ini-Datei
[sendmail]
smtp_server=smtp.gmail.com
;I tried both: 587, 465
smtp_port=587
; I tried: "blank, auto ssl, tls, none"
smtp_ssl=
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=mypass
hostname=localhost
Und das ist php.ini Datei
[mail function]
smtp_port = 465
sendmail_path="C:\wamp\sendmail\sendmail.exe -t"
mail.add_x_header = On
ssl_module ist in Apache aktiv und php verwendet die Erweiterungen php_open_ssl und php_socket.
Auch ich habe versucht, Stunnel ohne Erfolg zu verwenden
EDIT 27/01/2014
Ich habe smtp_port = 465 und smtp_ssl = ssl auf sendmail.ini gesetzt. Außerdem habe ich festgelegt, dass sendmail.exe als Windows XP SP3-Programm ausgeführt werden soll. Anschließend wird beim Ausführen von sendmail.exe auf der Windows-Konsole die E-Mail korrekt gesendet wamp versucht E-Mails zu senden. Ich erhalte diesen Fehler in den Fehlerprotokollen von sendmail: Socket Error # 10060Connection timeout.
Dies ist der Code, mit dem ich sendmail teste:
<?php
$email = "[email protected]";
$to = "[email protected]";
$subject = "Hi!";
$body = "Hi,How are you?";
$headers = 'From: ' .$email . "\r\n".'Reply-To: ' . $email. "\r\n".'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $body, $headers)) echo("<p>Email successfully sent</p>");
else echo("<p>Email delivery failed</p>");
?>
Endlich habe ich die Antwort gefunden.
Das Problem ist, dass sendmail als Administrator ausgeführt werden muss. Dies ist die Lösung, um jemandem in meiner Situation zu helfen.
Und speichern: D
2 Tage in diesem Unsinn verloren :(
Als Erweiterung der akzeptierten Antwort:
Wenn Sie die Funktion "Mail senden" in PHP ausführen, wird möglicherweise ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, die App "Mail senden" als Administrator auszuführen. Wenn Sie auf "Ja" klicken, wird ein Dialogfeld mit einer Eingabeaufforderung angezeigt. Es passiert nichts und Ihre Seite bleibt hängen, bis die Eingabeaufforderung geschlossen wird. Die Mail-Funktion gibt sogar "True" zurück, aber in Wirklichkeit wurde keine Nachricht gesendet.
Um dieses Problem zu beheben, führen Sie die Anweisungen wie in der akzeptierten Antwort aus und führen Sie den Server (oder die IDE) AUCH als Administrator aus.
1) Klicken Sie mit der rechten Maustaste auf das Programm (z. B. Server, Ide, Eingabeaufforderung) und klicken Sie auf "Als Administrator ausführen".
2) OR Rechtsklick auf Programm> Eigenschaften> Kompatibilität> Häkchen Als Admin ausführen
Wenn Sie beispielsweise den eingebauten Server PHP verwenden, führen Sie den Befehl Eingabeaufforderung als Administrator aus und starten Sie den Server wie gewohnt mit
C:\wamp\bin\php\php5.5.12\php.exe -S localhost:80 -t C:\Users\path\to\rootFolder
Natürlich können Sie die Dateipfade Ihren Bedürfnissen anpassen.
Hoffe das hilft jemandem !!! Hat ewig damit verbracht!
Das Problem ist, dass sendmail als Administrator ausgeführt werden muss. Dies ist die Lösung, um jemandem in meiner Situation zu helfen.
Unter Windows 10 funktionierte nur die Kompatibilitäts-Problembehandlung.