2012-03-29 15 views
1

Dies ist die Mail, die (Code in meinem PHP) senden soll:Mail nicht durch Absenden des Formulars

$message = 
"Hello \n 
Thank you for registering with us. Here are your login details...\n 

User ID: $user_name 
Email: $usr_email \n 
Passwd: $data[pwd] \n 

"; 

mail($usr_email, "Login Details", $message, 
"From: \"Member Registration\" <[email protected]>\r\n" . 
"X-Mailer: PHP/" . phpversion()); 

header("Location: thankyou.php"); 
exit(); 

Das ist meine php.ini Details ist:

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

; 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 = "C:\xampp\apache\logs\php_mail.log" 

und meine sendmail.ini

[sendmail] 

smtp_server=smtp.gmail.com 
smtp_port=25 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected] 
auth_password=xxxxxxx 
[email protected] 

Ich bin ein kompletter Anfänger, also könnte das total falsch sein. Wenn ich das Formular absende, wo die Mail-Funktion ist, erscheint die Seite thankyou.php wie angegeben

+0

haben Sie versucht mit var_dump() -Funktion zu sehen, welcher Fehler auftaucht? wenn nicht versuchen Sie, Ihre Mail-Funktion in 'var_dump (mail (...));' – orustam

Antwort

0

Überprüfen Sie Ihre Mail-Protokolle, um zu sehen, ob sendmail beim Senden der Nachricht ein Problem hat. Oft kann Ihre App sie an sendmail senden, aber sendmail kann sie nicht senden.

+0

nothings in php_mail.log. Ich habe Quecksilber Mail läuft und das ist, was das sagt: HELO Emzys-PC MAIL VON: <[email protected]> RCPT zu: <[email protected]> DATA DATEN - 31 Zeilen, 627 Bytes. BEENDEN 0 sek. verstrichen, Verbindung geschlossen Do Mar 29 19:58:31 2012 – user1257518

+0

Und haben Sie diese E-Mail erhalten? Wenn Quecksilber denkt, dass es gesendet wurde, aber Sie es nie erhalten haben, überprüfen Sie stromabwärts. Möglicherweise hat eine Firewall oder andere Software verhindert, dass die Nachricht zu Ihrem xxx.ac.uk Mail-Handler gelangt. –

+0

NO hat es nicht erhalten. Ich frage mich nur, warum Quecksilber QUIT 0 sec Verbindung geschlossen sagt. bedeutet das, dass es fehlgeschlagen ist? – user1257518

0

Ich bemerkte dies in Ihrer php.ini:

; Nur für Unix. Sie können auch Argumente angeben (Standard: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "\" C: \ xampp \ sendmail \ sendmail.exe \ "-t"

Ich sah hier:

http://digiex.net/guides-reviews/guides-tutorials/application-guides/544-configuring-php-under-windows-use-gmail-external-smtp-server-ssl.html

und bemerkte, dass der send Weg auf diese Weise definiert wurde:

sendmail_path = "C: \ inetpub \ sendmail \ sendmail.exe -t"

AFAIK Sie wirklich diese zusätzlichen Anführungszeichen nicht benötigen, sollten und schlitzt Sie verwenden. Ich würde das obige Format versuchen und auch Ihr sendmail-Protokoll überprüfen, um zu sehen, ob es irgendwie fehlerhaft ist.

Verwandte Themen