0

PHP の mail() 関数を使用してメールを送信しようとしていますが、何らかの理由で取得できず、追加のヘッダーが無視されます。

これは私のコードです:

$errors = '';
    $myemail = 'my@email.com';
    $myemail_bcc = 'my_bbc@email.com';
    if(empty($_POST['nome'])  ||   empty($_POST['email']))
    {
        $errors .= "Error: You must fill Name and Email fields";
    }

    $name = $_POST['nome'];
    $email_address = $_POST['email'];
    $telefono = $_POST['telefono'];
    $message = $_POST['messaggio'];

    if (!preg_match(
    "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
    $email_address))
    {
        $errors .= "<br />Error: You must use a valid email address";
    }

    // spediamo la mail
    if( empty($errors))
    {
        $to = $myemail;
        $email_subject = "New Request from: $name";

        $email_body = "User data:.\n\n";
        $email_body .= "Nome: $name \nEmail: $email_address \nTelefono: $telefono \n";
        $email_body .= "Messaggio: \n$message";

        $headers = "From: John Smith <$myemail>\r\n";
            $headers .= "Reply-To: $name <$email_address>\r\n";
            $headers .= "Bcc: $myemail_bcc";

        mail($to,$email_subject,$email_body,$headers); 

        }

名前のないヘッダーを宣言する方法を変更しようとしましたが、電子メールのみを使用しました。

            $headers = "From: $myemail \r\n";
            $headers .= "Reply-To:  $email_address\r\n";
            $headers .= "Bcc: $myemail_bcc";

1行だけでも

$headers = "From:  $myemail\r\nReply-To: $name <$email_address>\r\nBcc: $myemail_bcc";

ただし、メールが Bcc アドレスに送信されることはありません。クライアントの電子メールの「返信」機能では、返信先アドレスは使用されません。

どこが間違っていますか?

4

0 に答える 0