wake-up-neo.net

Sendmail Wamp Php

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>");
?>
22
Rumpelstinsk

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.

  1. Klicken Sie mit der rechten Maustaste auf sendmail.exe
  2. Eigenschaften
  3. Kompatibilität
  4. Ändern Sie die Konfiguration für alle Benutzer
  5. Ausführen als Windows XP SP 3
  6. Als Administrator ausführen

Und speichern: D

2 Tage in diesem Unsinn verloren :(

67
Rumpelstinsk

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!

8
Yahya Uddin

Das Problem ist, dass sendmail als Administrator ausgeführt werden muss. Dies ist die Lösung, um jemandem in meiner Situation zu helfen.

  1. Klicken Sie mit der rechten Maustaste auf sendmail.exe
  2. Eigenschaften
  3. Kompatibilität
  4. Ändern Sie die Konfiguration für alle Benutzer
  5. Ausführen als Windows XP SP 3
  6. Als Administrator ausführen
  7. wenn Sie Google Mail verwenden, müssen Sie ein neues Passwort "Ihre anwendungsspezifischen Passwörter" erstellen.
6
juan.conde

Compatibility Troubleshooter

Unter Windows 10 funktionierte nur die Kompatibilitäts-Problembehandlung.

  1. Klicken Sie mit der rechten Maustaste auf sendmail.exe
  2. Klicken Sie auf "Eigenschaften"
  3. Wählen Sie die Registerkarte Kompatibilität.
  4. Klicken Sie auf "Compatibility Troubleshooter ausführen".
  5. Lassen Sie Windows das Problem automatisch beheben.
1
Matt