1
$res=  mail('myemailaddress@live.com', 'Email verification ','This is my own text');

print $res;

我试图将邮件发送到我的电子邮件 ID。我有 1 页。看起来它正在工作,但它真的没有工作。

php.ini:

define_syslog_variables  = Off

[mail function]
; 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 = mymailaddressishere@live.in

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program files\xampp-portable) 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 = "\"\xampp-portable\sendmail\sendmail.exe\" -t"

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

; 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 = "\xampp-portable\php\logs\php_mail.log"

[SQL]

我想知道如何追踪我的代码发生了什么。如果我需要在本地 php 服务器中进行一些设置,请告诉我有关它们的信息。

我正在使用 xampp 便携式“以管理员身份运行”。

4

3 回答 3

1

你的文件中有一行写着:

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

在我的 XAMPP 安装中,我发现注释是错误的。如果您想使用 mailToDisk,您实际上必须取消注释该行,并且邮件实际上被写入 /tmp/mailoutput。

于 2013-02-13T04:23:08.747 回答
0

我不能使用评论系统,所以我只能在这里发布。但我认为这不是您正在寻找的答案。

XAMP 可能无法发送电子邮件。大多数 localhost 测试环境,例如 xamp 或 wamp 都无法发送电子邮件。他们需要首先设置为邮件服务器。您可以尝试将它们设置为邮件服务器,但我认为更容易获得免费托管(带有一些“丑陋”的子域名),然后将您的脚本放在那里并尝试发送邮件。

于 2012-11-28T06:23:08.987 回答
0

我这样说:你没有安装 SMTP 服务器,更不用说运行了。仅仅因为您php.inimail()将使用 SMTP @ localhost:25 并不意味着它已安装并正在运行。mail()即使它实际上没有发送信件,该函数也会返回 true。

如果你已经安装了一个 SMTP 服务器(它现在还没有与 XAMPP 一起打包),并让它运行,那么我很抱歉。请发布您正在使用的 SMTP 服务器和您的服务列表,以确保它正在运行。那么就更容易诊断了。

编辑

刚刚在我的电脑上测试,没有设置 SMTP 服务器:

$a= @mail('sales@ellsworthpublishing.com', 'asdf', 'asdf');
if(!$a)
    echo'False';
else
    echo'True';

输出是True

于 2012-11-28T06:27:20.500 回答