0

jQuery モバイル サイトでフォームを操作するための PHP ファイルを作成しました。フォームは完全に機能し、電子メールを送信し、エラーはすべて機能します。しかし、(不明な送信者)からメールが届き続けています。件名と電子メール情報があります。(ホストの電子メール アドレスをホストするフォームから送信される電子メール)。提供できるヘルプをありがとう。

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

// Here is the email to information

$email_to = "hostemail@email.com";
$email_subject = "Customer Service Form";
$email_from = "Company";

//error code

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

if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['message'])) {
    died('We are sorry but there appears to be a problem with the form you submitted.');
}

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$error_message = "";
//$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z] {2,4}$/';
//(!preg_match($email_exp, $email)) {
//$error_message .='The Email Address you entered does not appear to be valid.<br/>';
//  }

$string_exp = "/^[A-Za-z.'-]+$/";
if(!preg_match($string_exp, $name)){
    $error_message .= 'The name you entered does not seem to be valid.<br/>';   
    }

if(strlen($message) < 2) {
    $error_message .= 'The comments 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 ($name) . "\n";
    $email_message .= "E-Mail:" . clean_string ($email) . "\n";
    $email_message .= "Message:" . clean_string ($message) . "\n";

    //create email headers

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

    <!-- Success Message Goes Here -->
    Thank you for contacting us. We will be in touch with you shortly. <br/>
    Please Click <a href="contact.html"> here </a> to go back to the contact page.
    <?php
}
?>
4

1 に答える 1

5

Fromヘッダーの形式は次のとおりです。

Display Name <email address>

例えば:

Company <foo@company.com>

現在、あなたは「Company」を使用していますが、それ自体は有効な電子メール アドレスではなく、末尾に電子メール アドレスがありません。

于 2012-07-23T04:22:43.400 に答える