apache,mercury32,php邮件。无法让它发挥作用

时间:2013-03-18 00:15:00

标签: php php-ini

我无法通过PHP邮件发送电子邮件......

所有这些只是在我的localhost设置中测试我的php邮件功能。 XAMPP的Apache,汞,MySQL和和WindowXP

我很确定我安装了水银32正确,如果我使用它发送电子邮件到root@localhost.com它工作正常,我看到它已发送,并在我设置的雷鸟收件箱。

php.ini是我有点困惑的地方

[mail function]
;---- I left this as is(out), since I AM using Mercury
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
;---- I created a root user in mercury
sendmail_from = root@localhost

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesD:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  

; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the D:\xampp\mailoutput folder
;---- I left this as is(in), but I feel it should be commented out, but if I take out i get error in pho mail() code
sendmail_path = "D:\xampp\mailtodisk\mailtodisk.exe"

用于mail()的PHP代码;

   .....
   $mailSubject   = "Hello there!!!";
   $mailFrom      = "From: me123@gamil.com" . "\r\n";
   $mailTo        = "root@localhost.com";

   if (mail($mailTo, $mailSubject, $mailMessage, $mailFrom)){
      echo("Message successfully sent! $mailTo");
   } 
   else {
      echo("Message delivery failed...");
   }

邮件被发送到了哪里?我永远找不到它

部分图片: 测试水星。去“提交>发送邮件”以获取此屏幕并创建了一个测试电子邮件 testing Mercury. Went to "file>Send mail message" to get this screen and created an email to test

客户电子邮件收件箱 - 上述图片/测试的结果 client email inbox- result of the above image/test

浏览器中的脚本输出 screen output

1 个答案:

答案 0 :(得分:0)

(首先:抱歉我的英语不好) 为了解决这个问题,我配置了php.ini和sendmail.ini,如下所示:

的php.ini:

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = 127.0.0.1
 smtp_port = 25
 sendmail_from = postmaster@localhost

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xampp\sendmail\sendmail.exe\ -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

和sendmail.ini

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

;smtp_server=mail.mydomain.com

smtp_server=localhost

请记住在PHP.ini上发表sendmail_path 现在它对我有用:)