1

这是应该发送的邮件(我的 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

我是一个完整的初学者,所以这可能是完全错误的。当我提交邮件功能所在的表单时,thankyou.php页面按指定出现

4

2 回答 2

0

我在你的 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 日志,看看它是否以某种方式出错。

于 2012-03-29T21:59:16.600 回答
0

检查您的邮件日志以查看 sendmail 是否在传递邮件时遇到问题。通常,您的应用程序可以正确地将其发送到 sendmail,但 sendmail 无法将其发送出去。

于 2012-03-29T18:53:25.103 回答