如何解决有关通过PHP发送邮件的错误?

时间:2017-03-19 14:03:35

标签: php

我试图通过php代码发送邮件,但我不知道它为什么不起作用,我总是收到这个警告:

  

警告:mail()[function.mail]:无法连接到mailserver   " 127.0.0.1"端口25,验证您的" SMTP"和" smtp_port"设置   php.ini或在C:\ Program Files中使用ini_set()   (x86)\ EasyPHP-5.3.8.1 \ www \ send mail.php on line 8

我下载了hmail服务器,错误消失了,没有出现错误,但邮件没有发送。

我在Windows 10上使用 EasyPHP 5.3.8.1 。 我的代码是:

<?php
$to = "example1@hotmail.com";
$subject = "anything";
$txt = "Hello world! My first mail with PHP";
$headers = "From: example2@hotmail.com" . "\r\n";

mail($to,$subject,$txt,$headers);
?>

1 个答案:

答案 0 :(得分:0)

PHP的mail命令在内部使用os内置mail程序发送邮件(默认情况下)。在Windows上,这种行为略有不同,请参阅http://php.net/manual/en/function.mail.php

默认情况下,这需要运行本地邮件服务器来接收邮件并将其转发到目标。

我建议使用HTMLMimeMail5 https://github.com/matthiask/swisdk2/blob/master/lib/contrib/htmlMimeMail5/htmlMimeMail5.php或PEAR :: Mail_MIME,如文档中所述:

  

如果打算发送HTML或其他复杂邮件,建议使用PEAR包»PEAR :: Mail_Mime。

如果您真的打算使用本地邮件服务器,那么您需要确保它正在运行。