Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 邮件()不工作_Php - Fatal编程技术网

Php 邮件()不工作

Php 邮件()不工作,php,Php,我正在努力通过PHP发送邮件,运行在IIS7上。我在服务器上运行了一个SMTP服务器,我可以通过telnet访问该服务器并通过它发送邮件,没有问题,php.ini的配置如下: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 当我运行一个简单的PHP脚本来测试邮件功能时: $to = "test@email.com"; $subject = "Test mail"; $message =

我正在努力通过PHP发送邮件,运行在IIS7上。我在服务器上运行了一个SMTP服务器,我可以通过telnet访问该服务器并通过它发送邮件,没有问题,php.ini的配置如下:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
当我运行一个简单的PHP脚本来测试邮件功能时:

    $to = "test@email.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "someonelse@example.com";
    $headers = "From:" . $from;
    if(mail($to,$subject,$message,$headers))
    {
        echo('ok');
    }
    else
    {
        echo('not ok');
    }
返回ok,但未收到邮件。我已经设置了
错误报告(-1)并且我也没有收到任何错误或警告。我不知道会出什么问题?

试试看

$headers = "From: " . $from . "\r\n";

您必须以这样的换行符结束标题。

我刚刚发现了问题-这是php.ini中的sendmail\u设置。即使脚本没有使用此值,它似乎必须是一个格式良好的电子邮件地址,但事实并非如此。设置为test@mail.com重新启动站点已经完成了这个技巧

注意你的/var/log/mail或/var/log/mail.erra你是否将电子邮件发送到了一个好的电子邮件地址?实际上你应该使用PHP_EOL而不是“\r\n”。@jribeiro我以前从未听说过这一点。只是读了一点。谢谢你的信息。