PHP表单不发送电子邮件或显示任何问题迹象

时间:2013-04-24 22:44:59

标签: php html post contact-form

我无法为我的生活获取我的PHP表单发送电子邮件。我已经尝试了一种百万种不同的方式来完成这项工作,到目前为止还有10个教程,但仍然没有运气。

这是我的表单和php代码(这些都在index.php文件中):

<?php

            error_reporting(E_ALL);
            ini_set('display_errors','1');

            if ( isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message']) ) {

                $sender_name = $_POST['name'];
                $email_address = $_POST['email'];
                $subject = $_POST['subject'];
                $message = $_POST['message'];

                if ( !empty($sender_name) && !empty($email_address) && !empty($subject) && !empty($$message) ) {

                    $to = 'myemail@myemail.com';
                    $mailSubject = 'Contact Form Subject:' .$subject;
                    $mailSubject .= ' Sent from:' .$sender_name;
                    $body = $message;
                    $headers = 'From: ' .$email_address;

                    mail($to, $mailSubject, $body, $headers);

                }


            }

        ?>    





<form method="post" action="index.php">
                                    <div class="5grid">
                                        <div class="row">
                                            <div class="6u">
                                                <input type="text" name="name" id="name" placeholder="Name" />
                                            </div>
                                            <div class="6u">
                                                <input type="text" name="email" id="email" placeholder="Email" />
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="12u">
                                                <input type="text" name="subject" id="subject" placeholder="Subject" />
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="12u">
                                                <textarea name="message" id="message" placeholder="Message"></textarea>
                                            </div>
                                        </div>

                                        <div class="row">
                                            <div class="12u">
                                                <input type="submit" value="Send" class="button form-button-submit"/>
                                                <a href="#" class="button button-alt form-button-reset">Clear Form</a>
                                            </div>
                                        </div>
                                    </div>
                                </form>

我根本没有收到任何错误,它只是不发送电子邮件。我是否特意在这里做错了什么?提前谢谢。

1 个答案:

答案 0 :(得分:3)

如果邮件为空,则在测试时有$ double。这个简单的解决方案为我解决了这个问题。

if ( !empty($sender_name) && !empty($email_address) && !empty($subject) && !empty($$message) ) {