我无法通过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...");
}
邮件被发送到了哪里?我永远找不到它
部分图片: 测试水星。去“提交>发送邮件”以获取此屏幕并创建了一个测试电子邮件
客户电子邮件收件箱 - 上述图片/测试的结果
浏览器中的脚本输出
答案 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 现在它对我有用:)