1

メールアドレスを使用してこのスクリプトをテストしたところ、以下のスクリプトは機能しましたが、メールアドレスを変更するとスクリプトが機能しなくなりました。ただし、電子メール アドレス (スクリプトで機能しなかったアドレス) をスカイ電子メール クライアントにコピー アンド ペーストし、機能する電子メールを送信しました。

これがスクリプトです (このスクリプトのチェックや検証はまだ行われていないことに注意してください)

$email = $_POST['email'];
$subject = $_POST['subject'];
$name = $_POST['name'];
$message = $_POST['message'];
$subject = addslashes(htmlspecialchars($subject));
$name = addslashes(htmlspecialchars($name));
$message = addslashes(htmlspecialchars($message));
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: ".$name." <".$email.">";
$headers[] = "Subject: {".$subject."}";
$headers[] = "X-Mailer: PHP/".phpversion();
$to = "example@example.com";
$email = mail($to,$subject,$message,implode("\r\n", $headers));
if($email){
header('location: thankyou-email.php');
}
else{
header('Location: contact-us.php');
}

さまざまなヘッダーで試しましたが、これも機能しません。

4

1 に答える 1

0

$headers[0]、$headers[1] などを使用してみてください。また、gmail はメールをバッファに保存するため、(コードを修正した後) 最初のメールを受信したときに、他のメッセージを大量に受信する可能性があります。 $headers[] で送信していました。

私の作業コードは次のとおりです。

    <?php
    $subject = "aaa";
    $name ="aaa";
    $message = "aaa";
    $subject = addslashes(htmlspecialchars($subject));
    $name = addslashes(htmlspecialchars($name));
    $message = addslashes(htmlspecialchars($message));
    $headers = array();
    $headers[0] = "MIME-Version: 1.0";
    $headers[1] = "Content-type: text/plain; charset=iso-8859-1";
    $headers[2] = "From: ".$name;
    $headers[3] = "Subject: {".$subject."}";
    $headers[4] = "X-Mailer: PHP/".phpversion();
    $to = "My_email@gmail.com";
    mail($to,$subject,$message,implode("\r\n", $headers));
    ?>
于 2013-11-01T13:08:28.963 に答える