尝试使用PHP与Bluehost

时间:2016-07-11 06:13:55

标签: php html forms email bluehost

我是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代码有问题吗?

非常感谢任何帮助!

2 个答案:

答案 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";
}
?>