Почта не отправляется через форму - PullRequest
1 голос
/ 29 марта 2012

Это письмо, которое следует отправить (код в моем 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();

Это мои данные php.ini:

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

и мой 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

Я начинающий, так что это может быть совершенно неправильно.Когда я отправляю форму, где находится функция mail, страница thankyou.php появляется как указано

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Я заметил это в вашем php.ini:

; Только для Unix. Вы также можете указать аргументы (по умолчанию: «sendmail -t -i»). ; http://php.net/sendmail-path sendmail_path = "\" C: \ xampp \ sendmail \ sendmail.exe \ "-t"

Я посмотрел здесь:

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

и заметил, что путь к sendmail был определен следующим образом:

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

AFAIK, вам действительно не нужны те лишние кавычки и косые черты, которые вы используете. Я бы попробовал формат выше, а также проверил ваш журнал sendmail, чтобы увидеть, нет ли в нем ошибок.

0 голосов
/ 29 марта 2012

Проверьте свои почтовые журналы, чтобы увидеть, есть ли у sendmail проблемы с доставкой сообщения. Часто ваше приложение может доставить его на sendmail правильно, но sendmail не может его отправить.

...