php中的邮件功能不通过发送

时间:2014-05-01 08:04:11

标签: php forms

我的Php代码最初通过电子邮件发送,使用这个确切的功能,但是现在我已经尝试更改标题,因此电子邮件没有通过@ backend1.freehosting.com进行,并且该功能不起作用。

我的代码是:

<?php
    // display form if user has not clicked submit
    if (!isset($_POST["submit"])) {
?>
    <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
        From: <input type="text" name="from"><br>
        Email: <input type="text" name="email"><br>
        Subject: <input type="text" name="subject"><br>
        Message: <textarea rows="10" cols="40" name="message"></textarea><br>
        <input type="submit" name="submit" value="Submit Feedback">
    </form>
<?php 
    }else {
        // the user has submitted the form
        // Check if the "from" input field is filled out
        if (isset($_POST["from"])) {
            $from = $_POST["from"]; // sender
            $subject = $_POST["subject"];
            $message = $_POST["message"];
            // message lines should not exceed 70 characters (PHP rule), so wrap it
            $message = wordwrap($message, 70);
            // send mail
            $headers = 'From: me@mysitedomain.com' . "\r\n" .
            'Reply-To: me@mysitedomain.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
            mail("example@hotmail.com",$subject,$message,$headers);
            echo "Thank you for sending us feedback";
        }
    }
?>

1 个答案:

答案 0 :(得分:0)

通常,包含错误的邮件日志会发送到您的系统邮件服务器日志目录。如果您使用的是CentOS / RHEL / Redhat或Fedora Linux,请使用以下任一命令检查/var/log/maillog文件:

注意:需要在服务器上进行ssh访问

tail -f /var/log/maillog

grep 'user@example.com' /var/log/maillog

more /var/log/maillog

如果您使用的是Ubuntu或Debian Linux,请检查/var/log/mail.err/var/log/mail.log个文件:

tail -f /var/log/mail.log

tail -f /var/log/mail.err