我是PHP的新手,但我找到了一些Web表单的示例代码。我在这个名为contact.php的文件中对此进行了调整:
<?php
mail('contact@mywebsite.com', $_POST['name'], $_POST['email'], $_POST['subject'], $_POST['message']);
?>
<p>Your message has been sent.</p>
这是HTML:
<form action="contact.php" method="post" enctype="text/plain">
Name<br>
<input type="text" name="name" value=""><br><br>
Email<br>
<input type="text" name="email" value=""><br><br>
Subject<br>
<input type="text" name="subject" value=""><br><br>
Message<br>
<textarea name="message" rows="10" cols="50"></textarea><br><br>
<input type="submit" value="SUBMIT">
</form>
它没有用,所以我做了一些研究,发现Bluehost要求你使用自己的Bluemail。所以我放弃了PHP并按照他们的教程。这也没用,所以我做了一些研究,发现他们停止了Bluemail。所以我回到PHP方法并将电子邮件更改为bluehost电子邮件地址(显然也是必需的)。
长话短说,我检查了我的垃圾邮件文件夹,发现了我试图从表单发送的一些测试电子邮件,但它们都是空白的。没有主题,没有消息内容。
因此,似乎联系表格正在发挥作用(因为它发送了一封电子邮件),但表格中输入的实际信息并未通过。我假设我的PHP代码有问题吗?
非常感谢任何帮助!
答案 0 :(得分:0)
似乎您使用了错误的邮件语法 尝试
<?php
$msg = $_POST['name']."<br/>". $_POST['email']."<br/>". $_POST['message'];
mail("contact@mywebsite.com",$_POST['subject'],$msg);
?>
答案 1 :(得分:0)
您可以尝试使用此代码(也许适合您):
<?php
$msg = $_POST['name']."<br/>". $_POST['email']."<br/>". $_POST['message'];
if (isset($_POST["email"])) {
mail($_POST["email"],$_POST['subject'],$msg);
echo "Your message has been sent.";
}else{
echo "N0, mail is not set";
}
?>