【解決方法】PHPでバウンスバックメールのコード


こんにちは、みんな
PHP で 1 つの電子メール スクリプトを使用して静的な Web サイトを開発しました。 メールを送受信できますが、受信者または送信者のメール アドレスが info@mydomain.com の場合のみです。 送信者と受信者の両方のアドレスを gmail/yahoo にしようとすると、スクリプトが機能しません。
ホスティング会社に同じことを連絡すると、失敗の理由を検出できるように、メールのバウンスをコーディングするように求められます。
ここで、php でメール スクリプトを返送するためのコードが必要です。
ありがとう
コードは次のとおりです。

PHP
<?php
$to= "mymail@gmail.com";
$emailSubject = "Here is an email ";
$emailContext = "Sending content using PHP mail function";

$emailHeaders = "Cc: mymail@yahoo.co.in" . "\r\n";

$from= "-fsomeone@yahoo.co.in";
$emailStatus = mail($to, $emailSubject, $emailContext, $emailHeaders, $from);
if($emailStatus) {
echo "Email Sent!";
} else {
echo "Email not sent";
}
?>

info@mydomain.com のようなアドレスがないため、このコードは機能しません。toaddress または fromaddress のいずれかを info@mydomain.com に置き換えると、スクリプトは機能しません。

解決策 2

皆さん、こんにちは
ホスティングアカウントのサポートから求められたように、メールバウンススクリプトを試しませんでしたが、非常にうまく機能する次のコードを試しましたが、唯一の問題は、Gmail IDで会話のようなメールを取得していたことで、追加するだけで修正できました件名によって連結された名前フィールドと、スクリプトが正常に機能するようになりました。
それが誰かを助けることを願っています
他のアイデアやより良い解決策がある場合は、ここで共有してください。
ありがとう

XML
<?php

$msg="";
if(isset($_POST['book']))
{
    $name=$_POST['name'];
    $address=$_POST['address'];
    $email=$_POST['email'];
    $mobile=$_POST['mobile'];



    $from_add = "info@yourdomain.com";
    $from_rep=$email;

    $to_add = "mygmail@gmail.com"; //<-- put your yahoo/gmail email address here

    $subject = "Booking Details".$name;
    $message = "Name:"."\t".$name."\r\n";
    $message.="Address:"."\t".$address."\r\n";
    $message.="Mobile:"."\t".$mobile."\r\n";





    $headers = "From: $from_add \r\n";
    $headers .= "Reply-To: $from_rep \r\n";
    $headers .= "Return-Path: $from_add\r\n";
    $headers .= "X-Mailer: PHP \r\n";


    if(mail($to_add,$subject,$message,$headers))
    {
        ?>
        <center>
        <b>Thank you <?php echo $name; ?></b>
        <br><b>Your email has been sent!</b>
        <p>we will get back to you soon!</p>
        </center>
        <?php
    }
    else
    {
       $msg = "Error sending email!";
    }

}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
</head>

<body>

<div>
<center>

<p><a href="index.html">Click here to continue</a></p>

</center>
</div>

</body>
</html>

解決策 1

「バウンス メール スクリプト」は必要ありません。 メールが送信されない理由を調べる必要があります。

サーバーが Yahoo / GMail アドレスから別の Yahoo / GMail アドレスにメールを送信できない理由は、ローカル サーバーが Yahoo / GMail サーバーではないためです。 適切な認証を使用してサーバー経由で電子メールを送信しない限り、メッセージは「なりすまし」として拒否されます。

あたかもランダムな人物がオフィスの正面玄関に近づき、社内の IT 部門の者であると主張し、サーバーの検査を要求したかのようです。 あなたが知っているので、彼らは いいえ あなたのIT部門から、あなたはそれらを入れません.

Yahoo または GMail のアドレスからメールを送信するには、そのアドレスを所有している必要があります。 その後、Yahoo / GMail メール サーバーに対して認証を行い、そのサーバー経由でメッセージを送信できます。

設定によっては、別の電子メール ライブラリを使用する必要がある場合があります。 例えば:
PHPMailer – PHP 用のフル機能のメール作成および転送クラス[^]
PHP を使用して GMail SMTP サーバー経由でメールを送信する[^]

コメント

タイトルとURLをコピーしました