邮件功能不起作用

时间:2015-05-20 07:48:33

标签: php

我正在使用php邮件功能。

<?php
if (isset($_REQUEST['submit']))
  //if "email" is filled out, send email
  {
   //send email
   $text=$_REQUEST['text'];
   $enquiry=$_REQUEST['mail-subject'];
   $email=$_REQUEST['email'];
   $departure = $_REQUEST['departure'];
   $subject=$_REQUEST['subject'];
   $mmimessage=$_REQUEST['message'];
   $message = '<html><body>';
   $message.='name:'.$text."<br/>".'Email:'.$email."<br/>".'Department:'.$departure."<br/>".'Subject:'.$subject."<br/>".'Message:'.$mmimessage."<br/>".$_REQUEST['mmimessage'];
   $message .= '</body></html>';
   $headers = "MIME-Version: 1.0" . "\r\n";
   $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
   $check= mail("ndhivyamani@gmail.com",$text,$message,$headers);
  }
?>

<form action="" method="POST" name="contact-us" id="contact-us">
    <div class="col-md-6 margin-bottom-40">
        <input type="text" placeholder="Name*" name="text" id="text" class="form-control" required>         
    </div>
    <div class="col-md-6 margin-bottom-40">
        <input type="text" placeholder="Email *" name="email" id="email" class="form-control" required>               
    </div>
    <div class="col-md-6 margin-bottom-40">
        <input type="text" placeholder="Department*" name="departure" id="departure" class="form-control" required>              
    </div>
    <div class="col-md-6 margin-bottom-40">
        <input type="text" placeholder="Subject *" name="subject" id="subject" class="form-control" required>
    </div>
    <div class="col-md-12 margin-bottom-40">                   
        <textarea placeholder="Tell us more about you and how MMI can assist you in your export/import needs" rows="8" class="form-control"   name="message" id="message" > </textarea>
    </div>
    <div class="col-md-12 margin-bottom-40" style="text-align:center">                   
         <input type="submit" class="btn primary" value="Submit" id="submit" name="submit">
    </div>  
</form>

此邮件功能在Windows服务器中不起作用。它显示如下错误

  

警告:mail()[function.mail]:无法连接到mailserver   “localhost”端口25,验证您的“SMTP”和“smtp_port”设置   php.ini或使用ini_set()   第324行的D:\ HostingSpace \ mmiexim.com \ httpdocs \ index.php

2 个答案:

答案 0 :(得分:0)

Windows机器无法自行发送电子邮件:虽然许多Linux发行版附带了一个可以发送邮件的程序(通常称为“sendmail”),Windows却没有,这意味着Windows上的PHP必须与邮件服务器(MTA)通信以发送电子邮件。

您应该按照错误消息说明并配置邮件服务器。您可以尝试自己设置一个,或使用您的ISP,Gmail,或者使用Amazon SES,Mandrill,Sendgrid或Postmark等专用电子邮件发送服务。

请注意,股票邮件功能不支持身份验证。如果您决定使用需要身份验证的邮件服务器(大多数都这样做),则需要使用SwiftMailer(http://swiftmailer.org/)之类的东西。

答案 1 :(得分:0)

您的错误消息明确指出您的php.ini设置中存在发送邮件的错误。请在php.ini文件中正确设置SMTP配置。