PHP电子邮件不起作用

时间:2013-07-09 14:43:30

标签: php forms email

我正在试图弄清楚如何构建联系表单,但我无法理解错误在哪里。 这是我的html表单:

<form id="contact-form" method="post" action="mail.php"> <!-- contact form -->
   <h4>Inviaci un Messaggio</h4>
   <div class="row-fluid">
    <div class="span4">
     <input type="text" name="name" maxlength="80" placeholder="Nome (richiesto)" />
    </div>
    <div class="span4">
     <input type="text" name="email" maxlength="255" placeholder="Email (richiesto)" />
    </div>
    <div class="span4">
     <input type="text" name="subject" placeholder="Oggetto" />
    </div>
   </div>
   <textarea name="message" placeholder="Testo (richiesto)"></textarea>
   <input type="submit" name="submit" value="Invia" class="btn" />
  </form>

这是mail.php

<?php
$email = $_POST['email'] ;
$subject = $_POST['subject'] ;
$message = $_POST['message'] ;
mail("my@mail.com", $subject,
$message, "From:" . $email);
?>
我错在哪里?谢谢!

1 个答案:

答案 0 :(得分:2)

从PHP发送邮件充满了困难。您的代码可能没有错误,但邮件可能无法发送,因为(根据需要选择多个):

  • 它似乎不是来自服务器上的电子邮件地址;
  • 默认情况下会阻止出站电子邮件,直到您要求它为止;
  • 您的服务器已列入黑名单;
  • 您的邮件被垃圾邮件过滤器阻止;
  • 其他一些原因。

让自己轻松生活。使用像swiftmailerPHPmailer这样的库来处理发送邮件,并尝试轻松发送到发送服务器上的地址。然后从那里开始工作。准备好必须使用SMTP身份验证,并可能使用付费外部服务为您发送邮件。