0

我正在使用已经具有简单联系表单功能的模板,并且流程表单非常简单,我不明白为什么我无法收到任何电子邮件......我确实运行了调试测试,它工作得很好。从我在线阅读的内容来看,似乎不再支持 mail() 函数或实际上不发送电子邮件。也许你们可以在这里帮助我并理解为什么这不起作用以及如何解决它?先感谢您!

联系人.php

<form method="post" id="contactForm" action="processForm.php">
<div class="clearfix">
    <div class="grid_6 alpha fll"><input type="text" name="senderName" id="senderName" placeholder="Name *" class="requiredField" /></div>
        <div class="grid_6 omega flr"><input type="text" name="senderEmail" id="senderEmail" placeholder="Email Address *" class="requiredField email" /></div>                             
</div>
<div><textarea name="message" id="message" placeholder="Message *" class="requiredField" rows="8"></textarea></div>
    <input type="submit" id="sendMessage" name="sendMessage" value="Send Email" />
    <span> </span>

进程表单.php

<?php
// Define some constants
define( "RECIPIENT_NAME", "Jenna" );
define( "RECIPIENT_EMAIL", "your_mail@gmail.com" ); //left it standard for privacy reasons
define( "EMAIL_SUBJECT", "Visitor Message" );

// Read the form values
$success = false;
$senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
$senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";

// If all values exist, send the email
if ( $senderName && $senderEmail && $message ) {
  $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
  $headers = "From: " . $senderName . " <" . $senderEmail . ">";
  $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
}

// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
  echo $success ? "success" : "error";
} else {
?>
<html>
  <head>
    <title>Thanks!</title>
  </head>
  <body>
  <?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
  <?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
  </body>
</html>
<?php
}
?>

此外,当您对其进行测试时,它确实会返回“感谢您发送消息!...”。

编辑更新: 谢谢大家,但显然当我上传到我的服务器时它正在工作。收到电子邮件的时间比我想象的要长。我所有的代码都是正确的,没有任何问题。所以感谢您抽出宝贵的时间!!

4

0 回答 0