我的php邮件功能似乎没有给我发电子邮件

时间:2014-03-06 01:22:03

标签: php function email

我的电子邮件功能无法在我的网站上运行。当我填写表格时,它不会发送到我的电子邮件地址?我错过了什么?任何人都可以帮助引导我朝着正确的方向前进吗?

<?php 
                // form submitted
                if ($_SERVER['REQUEST_METHOD'] == 'POST') {

                // list variables
                $name = $_POST['name'];
                $email = $_POST['email'];
                $comment = $_POST['comment'];
                $company = $_POST['company'];
                $industry = $_POST['industry'];
                $phone = $_POST['phone'];

                // email
                $to = 'myemail@example.com';
                $subject = 'Contact Form:';
                $emailBody = "
                Hi,
                <br /><br />
                <strong>Name</strong> : $name.<br />
                <strong>Phone</strong> : $phone.<br />
                <strong>Email</strong> : $email.<br />
                <strong>Company</strong> : $company.<br />
                <strong>Industry</strong> : $Industry.<br />
                <strong>Comments</strong> : $comment.";




                // mail

                if ($_POST['name']) {
                    } else {
                        echo "please specify your name<br>";
                    }


                if ($_POST['email']) {
                    } else {
                        echo "please specify your email<br>";
                    }

                if ($_POST['comment']) {
                    echo "Hi, $name, <br>
                    Thank you for the following comments: <br> <em>$comment</em>
                    <br>I will get back to you shortly at $email";
                    } else {
                        echo 'please specify your request';
                    }
                }

                if ($name && $email && $comments) {
                    mail('$to', '$subject', 'From: $emailBody'); 
                }  

                ?>

非常感谢你的帮助

2 个答案:

答案 0 :(得分:2)

基本PHP:您使用的是错误字符串类型:

mail('$to', '$subject', 'From: $emailBody'); 
     ^---^---

' - 引用的字符串 NOT 扩展变量。您尝试将电子邮件发送到字面字符为$to的地址。对于这种“只是变量”的用法,你不需要全部引用:

mail($to, $subject, "From: $emailBody");
                    ^---             ^--- note the different quotes here

答案 1 :(得分:0)

添加到Marc的答案:( 赞美,我应该说

if ($name && $email && $comments)应为if ($name && $email && $comment),因为您有$comment = $_POST['comment'];因此没有变量匹配,条件语句因此而失败,mail()函数也将失败。

更改为:

if ($name && $email && $comment) {
    mail($to, $subject, "From: $emailBody");
}