sendmail: Fehler bei der Lieferung: Connection Closed Gracefully. E-mail Funktion, Xampp php
Ich bin neu in PHP. Ich verwende XAMPP auf Windows 7 PC. Ich bin versucht, erstellen Sie eine e-mail-Kontaktformular mit PHP mail () - Funktion. Ich bin mir nicht sicher, wie die Konfiguration von meinem sendmail.ini und php.ini-Dateien betrifft mein code. Funktioniert die Konfiguration der Dateien nur beeinflussen, wie die mail-Funktion funktioniert auf meinem localhost? oder hat es Einfluss darauf, wie der code ausgeführt wird wenn ich lade meine Inhalte auf meinen web server?
Aus meiner php.ini:
[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 995
; For Win32 only.
sendmail_from = myemail@gmail.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "\"\xampp\sendmail\sendmail.exe\" -t"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the
filename
;mail.add_x_header = Off
; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "\xampp\php\logs\php_mail.log"
Aus meiner sendmail.ini:
smtp_server=smtp.gmail.com
; smtp port (normally 25)
smtp_port=995
; 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=mydomain.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
[email protected]
auth_password=mypassword
; 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=myemail@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=
Mein code sieht wie folgt aus:
$name = $_POST['name1'];
$email = $_POST['email'];
$message = $_POST['body'];
$body = $message . '\n My email is ' . $email;
$header1 = "From: $email \n";
mail("[email protected]", $_POST['subject'], $body, $header1);
header('location:Contact.php');
In jedem Fall habe ich immer zwei Fehler: der eine ist, dass die "connection timed out" und das andere ist, dass die "connection closed gracefully.' Ich gegoogelt "connection closed gracefully" und fand, dass ich hatte, um meine sendmail.exe Datei als administrator aus, und da bin ich mit gmail hatte ich zum einrichten der anwendungsspezifischen Passwörter.
Auf dem post-it darauf hingewiesen, dass ich brauchte, um einen server (oder IDE) als auch administrator. Wer sich mit XAMPP, wer weiß, was/wo der server/IDE ist, bitte Antworten.
InformationsquelleAutor user3904914 | 2014-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen Sie sicher, dass php und sendmail als administrator ausführen " scheint eine gute Idee, aber das hat nicht mein problem gelöst.
Lösung in sendmail.ini
nicht verwenden smtp_ssl = auto war das, was war-was meinen Fehler einfach legen Sie es auf ssl, tls oder keine nach Spezifikation des Servers
InformationsquelleAutor Pascal
Versuchen, diese und ich komme wieder, wenn ich mehr Zeit haben, aktualisieren Sie diesen:
1) installieren Sie Niemals XAMPP in Ihrem Programme-Ordner in Windows. Dadurch wird Berechtigungsprobleme. Wenn Sie dann re-installieren Sie es anderswo.
2) Alle Einstellungen in den sendmail.ini muss konfiguriert werden, mit dem, was dein Apache (Xampp) - installation hat. Die php.ini Teil ist das nicht die gesamte Datei oder das Teil, das hat diese Einstellungen. Zum Beispiel ich don;t denken, dass Ihre SMTP-port ist wirklich 995 (ich könnte falsch sein).
3) betrachten dieses post: Konfigurieren von XAMPP senden Sie E-mail von localhost?
4) SMTP-sollte jetzt funktionieren. Ihre Verwendung in anderen E-mail-server (Google Mail in diesem Fall), schicken Sie Ihre mail. Sie könnten tatsächlich Ihren computer verwenden, als den server zu, aber das ist eine ganze nether Problem.
InformationsquelleAutor Blizzardengle