【发布时间】:2021-06-03 08:31:33
【问题描述】:
我已经上网 7 个多小时了,但我仍然无法理解为什么会发生这种情况。
基本上我的 HTML 和 PHP 代码在同一个目录中,我的 HTML 包含一个简单的电子邮件联系表单和我的 PHP 只是一个基本的mail() 函数。
当我尝试通过表单发送消息时出现问题(在我将其推送到网站之后)。
当我点击提交按钮时没有任何反应,但是如果我转到www.mysite.com/ mail.php - 我的 PHP 文件 - 它会向右侧发送一封空白电子邮件电子邮件地址,所以我认为问题绝对不是与我的 PHP 脚本有关。
如果您能提供帮助,请告诉我。 :)
PS 另外,我知道我应该使用 PHPMailer 或 Swift Mailer 而不仅仅是默认的 mail() 函数,但我真的不喜欢为此必须使用 gmail 的想法。
mail.php:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = "Client Mail from ".$name;
$to = "clients@growpile.com";
$headers = "From: ".$email;
$txt = "You have received an e-mail from ".$name.". \n\n".$message;
mail($to, $subject, $txt, $headers);
header("Location: home.html?mailsent");?>
html:
<!--CONTACT FORM START-->
<form id="contact-form" class="fade-up" method="post" action="mail.php">
<div class="row">
<!--NAME FIELD-->
<div class="col-md-6">
<input type="text" id="cf-name" class="input__field cf-validate" name="name" placeholder="Name">
</div>
<!--EMAIL FIELD-->
<div class="col-md-6">
<input type="text" id="cf-email" class="input__field cf-validate" name="email" placeholder="Email">
</div>
<!--MESSAGE BOX-->
<div class="col-md-12">
<textarea id="cf-message" class="input__field cf-validate" rows="8" name="message" placeholder="Your Message"></textarea>
</div>
<div class="alert-container col-md-12"></div>
<!--SUBMIT BUTTON-->
<div class="col-md-12">
<button type="submit" id="cf-submit" name="submit" class="main-btn cursor-link">Send Message</button>
</div>
</div>
</form>
<!--CONTACT FORM END-->
【问题讨论】:
-
请阅读How to Ask,特别注意不要发布代码图片。
-
@Quentin 谢谢!已编辑。
-
使用 PHPMailer 或 SwiftMailer 并不意味着你必须使用 gmail。两者都可以充当
mail()函数的前端(这将避免您犯的所有安全漏洞和格式错误),尽管 SMTP 到 localhost 更安全、更快捷。 -
@Synchro 感谢您的回复!你能给我举个例子吗? :)
-
github.com/PHPMailer/PHPMailer#a-simple-example 示例文件夹中还有很多其他的