【问题标题】:PHP contact form not sending email even after saying email sentPHP联系表格即使在说已发送电子邮件后也不发送电子邮件
【发布时间】:2017-02-24 19:14:10
【问题描述】:

我在我的网站上整理了一个简单的 PHP 联系表。 当我提交消息时,它说消息已发送。 但是我没有收到邮件。

我使用的代码如下

<?php
    $action=$_REQUEST['action'];

    if ($action=="") /* display the contact form */
    {
?>

<form action="" method="post" enctype="multipart/form-data">
    <input type="hidden" name="action" value="submit">
    <div class="field half first">
        <label for="name">Name</label>
        <input name="name" id="name" type="text" placeholder="Name">
    </div>
    <div class="field half">
        <label for="email">Email</label>
        <input name="email" id="email" type="email" placeholder="Email">
    </div>
    <div class="field">
        <label for="message">Message</label>
        <textarea name="message" id="message" rows="6" placeholder="Message"></textarea>
    </div>
    <ul class="actions">
        <li><input value="Send email" class="button alt" type="submit"></li>
    </ul>
</form>

<?php
    } 
    else /* send the submitted data */
    {
        $name=$_REQUEST['name'];
        $email=$_REQUEST['email'];
        $message=$_REQUEST['message'];

        if (($name=="")||($email=="")||($message==""))
        {
            echo "All fields are required, please fill <a href=\"\">the form</a> again.";
        }
        else{       
            $from="From: $name<$email>\r\nReturn-path: $email";
            $subject="Message sent using your contact form";
            mail("xyz@website.com", $subject, $message, $from);
            echo "Email sent!";
        }
    }  
?>

MX 记录是为谷歌应用程序设置的,这与电子邮件未发送的原因有什么关系吗?

【问题讨论】:

  • 您只是在邮件功能后回显“已发送电子邮件”并不意味着已发送电子邮件。所以做这样的事情并检查它 if(mail("xyz@website.com", $subject, $message, $from)) { echo "Email sent!"; }else { echo "邮件未发送"; }
  • 它已经托管在godaddy上,我试过你问的,它仍然说电子邮件已发送,但没有收到任何东西。

标签: php html contact-form


【解决方案1】:

我觉得你的代码很好。

如果您在 localhost 上执行此操作,则可能是您发送邮件的地址拒绝了它,因为 SMTP 配置不正确。

如果是这种情况,请尝试将其上传到远程服务器。或者在您的计算机上配置 SMTP。

【讨论】:

  • 可能不支持邮件?尝试 php_info() 或 phpinfo() 我不知道函数的确切名称,然后查找邮件
【解决方案2】:

我已经修复了,这是一个godaddy问题,MX条目>>邮件路由需要设置为

远程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2019-09-04
    • 2015-09-22
    • 2017-03-05
    • 1970-01-01
    相关资源
    最近更新 更多