我在我工作的网站上遇到联系表格问题。我的php
文件中运行发送邮件的代码不起作用。当用户单击提交按钮时,它会在屏幕上显示代码,但不会发送电子邮件。
HTML
<header class="body1">
</header>
<section class="body1">
</section>
<footer class="body1">
</footer>
<form method="post" action="index.php">
<h2>Envie uma mensagem ou faça um pedido</h2>
<label>Nome:</label>
<input name="name" placeholder="Digite seu nome...">
<label>Email:</label>
<input name="email" type="email" placeholder="Digite seu email...">
<label>Mensagem:</label>
<textarea name="message" placeholder="Digite sua mensagem..."></textarea>
<input id="submit" name="submit" type="submit" value="submit">
</form>
PHP
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'De: Babylon Store';
$to = 'my@email.com';
$subject = 'Novo pedido';
$body = "De: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Sua mensagem foi enviada!</p>';
} else {
echo '<p>Aconteceu algo errado. Por favor tente novamente!</p>';
}
}
?>
答案 0 :(得分:1)
我自己尝试了这些代码,但它不起作用。
从未使用过:如果(邮件),请尝试使用邮件($ to,$ subject,$ body,$ from)
虽然,您目前正在处理的联系表格根本不安全。许多机器人可以自动提交表单,并可以向您发送大量垃圾邮件。防止这些的方法是使用安全验证码验证,这完全阻止这些机器人提交您的表单。如果您对安全表格感兴趣,请与我联系,因为我会为您写一个免费:)
我知道有一种方法可以使用 if(mail)语句来处理邮件,但有许多脚本,如PHPMailer,可以轻松地为您完成这项工作。如果您在Web服务器上处理此联系表单,则最有可能是他们的托管配置错误。如果您正在使用Localhost(例如:WAMP),请尝试这样做以确保它是否适用于您自己设置的服务器,如果确实如此,那么它最有可能是您当前正在运行的错误的Web服务器。 / p>
PS:我是一名PHP脚本开发人员,开发了超过25个脚本。