【问题标题】:PHP contact form is not sending email. [duplicate]PHP 联系表不发送电子邮件。 [复制]
【发布时间】:2018-07-19 20:37:20
【问题描述】:

老实说,我无法找出代码有什么问题。有人可以帮忙吗?我只是希望它将输入发送到我的电子邮件。是的,它是与我的主机相关联的电子邮件。

PHP:

<?php

if (isset($_POST['submit'])) { .  

  $name = $_POST['name'];   
  $mailFrom = $_POST['mail'];   
  $message = $_POST['message'];   

  $mailTo = "my@email.com";   
  $headers = "De: " .$mailfrom;   
  $txt = "Você recebeu um email de ".$name.".\n\n".$message;   

  mail($mailTo, $subject, $txt, $headers);
  header("Location: index.php?mailsend");

}

HTML:

        <form id="contact" action="contactform.php" method="post">

            <h3>Deixe a sua mensagem.</h3>

            <input placeholder="Seu Nome" name="name" type="text" tabindex="1" required autofocus oninvalid="this.setCustomValidity('Favor digitar nome válido.')" oninput="setCustomValidity('')">

            <input placeholder="Seu E-Mail" name="mail" type="email" tabindex="2" required oninvalid="this.setCustomValidity('Favor digitar Email válido.')" oninput="setCustomValidity('')">

            <textarea placeholder="Digite sua mensagem aqui..." tabindex="5" name="message" required oninvalid="this.setCustomValidity('Favor digitar mensagem válida.')" oninput="setCustomValidity('')"></textarea>

            <button name="submit" type="submit" id="contact-submit" data-submit="...Sending">ENVIAR</button>

        </form>

是的,这是一团糟,对此感到抱歉。

【问题讨论】:

  • $headers = "De: " .$mailfrom; 应该是:$headers = "From: " .$mailfrom;
  • 您不应该翻译标题。它应该是From: 而不是De:

标签: php html forms contact


【解决方案1】:

那是什么。?

if (isset($_POST['submit'])) { . <--------

我会尝试删除那个句号。除非它是我显示器上的一个斑点。哈哈!

如果这不是问题,那么可能是您的 smtp 设置不正确

【讨论】:

  • 我高兴了一会,但后来意识到.不在我上传的代码中。可能不知何故不小心把它加在这里了。
猜你喜欢
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 1970-01-01
  • 2012-05-02
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多