【问题标题】:PHP mail reply to sender instead of server emailPHP邮件回复发件人而不是服务器电子邮件
【发布时间】:2016-04-19 02:56:11
【问题描述】:

谁能指出我在哪里弄错了这个表格?我无法回复发件人的“电子邮件”,而是收到服务器电子邮件。

这里是php代码:

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $from = 'From: business.com'; 
    $to = 'anyone@gmail.com'; 
    $subject = 'A new Message from your website business.com';
    $human = $_POST['human'];
    $headers = 'From: info@business.com' . "\r\n" .
    'Reply-To: ' . $email . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    $body = "From: $name\n E-Mail: $email\n Message:\n $message";

    if ($_POST['submit']) {
    if ($name != '' && $email != '') {
        if ($human == '4') {                 
            if (mail ($to, $subject, $body, $from)) { 
            echo '<p>Your message has been sent!</p>';
        } else { 
            echo '<p>Something went wrong, go back and try again!</p>'; 
        } 
    } else if ($_POST['submit'] && $human != '4') {
        echo '<p>You answered the anti-spam question incorrectly!</p>';
    }
    } else {
        echo '<p>You need to fill in all required fields!!</p>';
    }
}
?>

这里是 html

<form method="post" action="contact.php" target="contactIframe" name="contact">
    <label>Name</label>
    <input name="name" placeholder="Type Here">
    <label>Email</label>
    <input name="email" type="email" placeholder="Type Here">
    <label>Message</label>
    <textarea name="message" placeholder="Type Here"></textarea></br>
    <label>*What is 2+2? (Anti-spam)</label>
    <input name="human" placeholder="Type Here"></br></br>
    <input id="submit" name="submit" type="submit" value="Submit">
    <input type="button" name="reset_form" value="Clear" onclick="this.form.reset();">
</form>

谢谢大家

【问题讨论】:

    标签: php email header mail-sender


    【解决方案1】:

    您的邮件功能没有$headers 作为附加标头。代码应该是...

     if ($human == '4') {                 
        if (mail ($to, $subject, $body, $headers)) { 
           echo '<p>Your message has been sent!</p>';
        }
     }
    

    参考:PHP Mail Function

    【讨论】:

    • 哇...你说得对,我错过了,但是,由于 $headers 的添加现在触发了回显错误消息,因此仍有地方需要编辑
    • 检查您是否在代码中定义了$body...如果存在,则检查服务器error_log
    • 嘿 Gopakumar,感谢您的帮助,$body 标签在代码中,如您所见,我不确定我是否可以访问服务器错误日志。
    猜你喜欢
    • 2013-06-29
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 2020-11-20
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多