我无法使用PHP邮件功能发送邮件...我收到错误

时间:2013-02-08 08:29:12

标签: php

我无法使用PHP mail()函数发送邮件。我收到一条错误消息。这有什么不对?求你帮帮我......

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\xampp\htdocs\SimpleEmail.php on line 14

Email could not be sent.

 <html>
          <head>
            <title>Simple Send Mail Form</title>
        </head>
         <body>
          <h1>Mail Form</h1>
        <form name="form1" method="post" action="SimpleEmail.php">
       <table>
         <tr><td><b>To</b></td><td><input type="text" name="mailto" size="35"></td></tr>
            <tr><td><b>Subject</b></td>
      <td><input type="text" name="mailsubject" size="35"></td></tr>
        <tr><td><b>Message</b></td>
      <td><textarea name="mailbody" cols="50" rows="7"></textarea></td>
      </tr>
         <tr><td colspan="2">
        <input type="submit" name="Submit" value="Send">
      </td>
        </tr>
        </table>
   </form>
      </body>
     </html>  

      //SimpleEmail.php//

         <?php
      if (empty ($mailto) ) {
    die ( "Recipient is blank! ") ;
    }

if (empty ($mailsubject) ){
   $mailsubject=" " ;
}

if (empty ($mailbody) ) {
   $mailbody=" " ; 
}

$result = mail ($mailto, $mailsubject, $mailbody) ;

if ($result) {
   echo "Email sent successfully!" ;
}else{
   echo "Email could not be sent." ;
}
?>

5 个答案:

答案 0 :(得分:0)

您没有运行自己的邮件服务器,也没有配置为使用其他任何人。那邮件去哪儿了?与系统管理员或托管服务提供商联系。

答案 1 :(得分:0)

错误消息表示您需要安装SMTP服务器才能使邮件功能正常工作 因为您使用xampp,您可以配置XAMPP附带的Mercury Server ..
一旦你安装并配置它,邮件功能将正常工作..

答案 2 :(得分:0)

不要担心......在我们的本地服务器中,很多都不会基于SMTP(简单邮件转换协议)运行,因此我们无法发送邮件,但是某些服务器可能会运行,如果您配置为SMTP协议端口然后你也可以发送它们

答案 3 :(得分:0)

您可以按照本教程中的给定步骤尝试在localhost中测试PHP邮件脚本。 http://blogs.bigfish.tv/adam/2009/12/03/setup-a-testing-mail-server-using-php-on-mac-os-x/

愿它能帮到你。

答案 4 :(得分:0)

使用以下代码发送电子邮件

ini_set("SMTP","aspmx.l.google.com");
$to = "yourmailid@gmail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "toemail@gmail.com";
$headers  = 'From: '.$from. "\r\n" .
            'Reply-To: '.$from. "\r\n" .
            'MIME-Version: 1.0' . "\r\n" .
            'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
if(mail($to,$subject,$message,$headers)) echo "Mail Sent.";