php邮件功能如果是来自gmail则不发送

时间:2013-12-07 20:37:58

标签: php email gmail

我最近使用php邮件功能设置了一个联系表单,除非提交电子邮件的人使用gmail帐户,否则效果很好。该表单可以提交来自其他所有提供商的电子邮件,但如果它来自gmail则永远不会发送。我在Dreamhost上主持。这是我正在使用的代码:

 <?php

    if(isset($_POST['Email_Address'])) {

        include 'contact_settings.php';

        function died($error) {
            echo "Sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }

        if(!isset($_POST['Full_Name']) ||
            !isset($_POST['Email_Address']) ||
            !isset($_POST['Telephone_Number']) ||
            !isset($_POST['Your_Message']) || 
            !isset($_POST['AntiSpam'])      
            ) {
            died('Sorry, there appears to be a problem with your form submission.');        
        }

        $full_name = $_POST['Full_Name']; // required
        $email_from = $_POST['Email_Address']; // required
        $telephone = $_POST['Telephone_Number']; // not required
        $comments = $_POST['Your_Message']; // required
        $antispam = $_POST['AntiSpam']; // required

        $error_message = "";

        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(preg_match($email_exp,$email_from)==0) {
        $error_message .= 'The Email Address you entered does not appear to be valid.<br
      }
      if(strlen($full_name) < 2) {
        $error_message .= 'Your Name does not appear to be valid.<br />';
      }
      if(strlen($comments) < 2) {
        $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }

      if($antispam <> $antispam_answer) {
        $error_message .= 'The Anti-Spam answer you entered is not correct.<br />';
      }

      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\r\n";

        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:");
          return str_replace($bad,"",$string);
        }

        $email_message .= "Full Name: ".clean_string($full_name)."\r\n";
        $email_message .= "Email: ".clean_string($email_from)."\r\n";
        $email_message .= "Telephone: ".clean_string($telephone)."\r\n";
        $email_message .= "Message: ".clean_string($comments)."\r\n";

    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    mail($to, $subject, $email_message,"From: $email_from ", $headers);
    header("Location: $thankyou");
    ?>

0 个答案:

没有答案