php E-mail senden Formular funktioniert nicht mit E-Mails an dieselbe Domäne

Ich versuche, fügen Sie ein Kontaktformular auf einer website, welche Beiträge die Formulardaten an eine E-Mail-Adresse. Es funktioniert gut mit jedem anderen E-Mail-Registranten wie Gmail und Yahoo. aber es funktioniert nicht mit E-Mails mit der gleichen domain-Namen (z.B.: [email protected] oder [email protected]).

Der gleichen form war in Ordnung arbeiten mit godaddy deluxe-hosting, aber jetzt, wo ich verschoben haben, um Godaddy CPanel-linux-hosting deluxe plan, es funktioniert nicht.

Bitte gehen Sie durch den folgenden code, den ich verwende, und lassen Sie mich wissen, was verändert werden muss. Ihre Anregungen werden sehr geschätzt. Vielen Dank im Voraus.

Code:

    <?php
if(isset($_POST['email'])) {


    $email_to = "[email protected]";
    $email_subject = "Enquiry website";


    function died($error) {
        //your error code can go here
        echo "We are very 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();
    }

    //validation expected data exists
    if(!isset($_POST['author']) ||
        !isset($_POST['email']) ||
        !isset($_POST['subject']) ||    
        !isset($_POST['text'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }

    $author = $_POST['author']; //required

    $email_from = $_POST['email']; //required
    $subject = $_POST['subject']; //required
    $text = $_POST['text']; //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)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$author)) {
    $error_message .= 'The Name you entered does not appear to be valid.<br />';

  }
  if(strlen($text) < 2) {
    $error_message .= 'The text you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Form details below.\n\n";

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

    $email_message .= "Name:".clean_string($author)."\n";

    $email_message .= "Email:".clean_string($email_from)."\n";
   $email_message .= "Subject:".clean_string($subject)."\n";
    $email_message .= "Message:".clean_string($text)."\n";


//create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

<!-- include your own success html here -->



<?php
  echo "<script type='text/javascript'>alert('$us Thank you for contacting us. We will get back to you very soon.')</script>";
echo "<script type='text/javascript'>window.location='index.html'</script>";
}
?>
  • Haben Sie Ihre code? Edit: wenn Sie den plan ändern und es nicht funktioniert, dann schlage ich vor, Sie ändern die hoster.
  • Sie haben Zugriff auf logs auf dem server?
  • Ja, ich habe Zugriff
InformationsquelleAutor user3169275 | 2014-01-07
Schreibe einen Kommentar