【问题标题】:Contact Form does not seem to send me information to my e-mail [duplicate]联系表似乎没有向我发送信息到我的电子邮件[重复]
【发布时间】:2014-08-14 20:59:51
【问题描述】:

我必须整理我的公司联系表。单击提交按钮时似乎不起作用:我的公司网站是:www.f-sharpmedia.com。

这是我的 PHP 文件的代码:

 <?php
 $name = $_POST['name'];
 $email = $_POST['email'];
 $message = $_POST['message'];
 $from = 'From: F-Sharp Media'; 
 $to = 'f.ajibade@f-sharpmedia.com'; 
 $subject = 'Hello';

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

 mail( "f.ajibade@f-sharpmedia.com" , "New Project" , $body);
 header("Location:email_success.php");
 ?>

EMAIL_SUCESS PHP 文件:

 <!doctype html>
 <html class="no-js" lang="en">
 <head>
    <meta charset="utf-8" />
    <title>F-Sharp Media | Welcome</title>
    <link rel="stylesheet" href="css/foundation.css" />
    <link rel="stylesheet" href="css/main.css" />
    <script src="js/vendor/modernizr.js"></script>
   </head>

     <body>
    <h1> Email Sent</h1>
    <p>Your e-mail has been sent<p/>
    <p><a href="JavaScript:history.go(-1);">Back</a></p>
     </body>
    </html>

联系表格 HTML:

        <form action="server.php" method="post">

                <p>
                <label for="name">Name:</label>
                <input name="name" id="name" type="text" class="required">
                <span>Please enter your name</span>
                </p>

                <p>
                <label for="email">Email:</label>
                <input name="email" id="email" type="text" class="required"> 
                <span>Please enter a valid email address</span>
                </p>

                <p>
                <label for="subject">Subject:</label>
                <input name="subject" id="subject" type="text"> 
                <span>Please enter your subject</span>
                </p>

                <p>
                <label for="message">Message</label>
                <textarea name="message" id="message" class="required"></textarea> 
                <span>Please enter your message</span>
            </p>
            <p class="submit">
                <input type="submit" value="Submit" class="btn-submit">
            </p>
        </form>

【问题讨论】:

  • 如果您需要帮助,您需要告诉我们什么不起作用。电子邮件永远不会到达您的收件箱吗?页面上是否显示错误?
  • 尝试检查mail()调用的返回值,它会告诉你它是否正在排队电子邮件。
  • if(mail(....)){...}else{ // error code } > error reporting
  • 我认为邮件服务器设置也已正确设置
  • 电子邮件没有到达我的收件箱。这与我的主机提供商有关还是我的邮件功能格式不正确。 @conradk

标签: php html css forms


【解决方案1】:

mail() 函数返回truefalse,具体取决于邮件是否已发送(这并不意味着它会到达收件箱,因为它可能被视为垃圾邮件)。更多信息在这里:http://php.net/manual/de/function.mail.php

我建议您应用 Fred 的建议,看看您的邮件是否被您的电子邮件提供商接受。比如:

if(mail(....)) {
    echo 'ok';
} else {
    echo 'error';
}
exit();

如果页面上出现error,则表示您的电子邮件被拒绝。您当前的脚本无能为力来改变它。以下是一些建议。

您似乎在使用 Google Apps。谷歌有一个积极的垃圾邮件打击政策。使用如此简单的脚本,您的电子邮件可能永远不会到达您的收件箱。如果您关心可交付性,您可能需要查看SwiftmailerPostmarkSendgrid 等服务。

【讨论】:

【解决方案2】:

尝试从 $body 变量中更改“发件人:”标签,某些服务器会像标题一样检索它并且不发送电子邮件。

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

享受您的代码!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多