1

This is the mail that should send (code in my PHP):

$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\" <xxxx@gmail.com>\r\n" .
"X-Mailer: PHP/" . phpversion());

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

This is my php.ini details:

; 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 = postmaster@localhost

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

and my sendmail.ini

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=xxxx@gmail.com
auth_password=xxxxxxx
force_sender=xxxx@gmail.com

I'm a complete beginner so this could be totally wrong. When I submit the form where the mail function is, the thankyou.php page appears as specified

AnFi
  • 10,493
  • 3
  • 23
  • 47
user1257518
  • 157
  • 6
  • 17
  • have you tried with var_dump() function to look what error comes up? if not try to put your mail function into `var_dump(mail(...));` – orustammanapov Apr 01 '12 at 22:22

2 Answers2

0

Check your mail logs to see if sendmail is having a problem delivering the message. Often your app can deliver it to sendmail correctly but sendmail can't send it out.

Shea Lutton
  • 71
  • 1
  • 2
  • 6
  • nothings appearing in php_mail.log. I do have mercury mail running and this is what that says:HELO Emzys-PC MAIL FROM: RCPT TO: DATA DATA - 31 lines, 627 bytes. QUIT 0 sec. elapsed, connection closed Thu Mar 29 19:58:31 2012 – user1257518 Mar 29 '12 at 18:59
  • And did you receive that email message? If mercury thinks it was sent but you never received it, check downstream. Perhaps a firewall or other software prevented the message from getting to your xxx.ac.uk mail handler. – Shea Lutton Mar 29 '12 at 19:07
  • NO didn't receive it. I just wonder why mercury says QUIT 0 sec connection closed. does this mean it failed? – user1257518 Mar 29 '12 at 19:13
0

I noticed this in your php.ini:

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

I looked here:

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

and noticed that the sendmail path was defined this way:

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

AFAIK you really shouldn't need those extra quotes and slashes you are using. I would try the format above and also check your sendmail log to see if it errored somehow.