[ad_1]
こんにちは、みんな
PHP で 1 つの電子メール スクリプトを使用して静的な Web サイトを開発しました。 メールを送受信できますが、受信者または送信者のメール アドレスが info@mydomain.com の場合のみです。 送信者と受信者の両方のアドレスを gmail/yahoo にしようとすると、スクリプトが機能しません。
ホスティング会社に同じことを連絡すると、失敗の理由を検出できるように、メールのバウンスをコーディングするように求められます。
ここで、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で会話のようなメールを取得していたことで、追加するだけで修正できました件名によって連結された名前フィールドと、スクリプトが正常に機能するようになりました。
それが誰かを助けることを願っています
他のアイデアやより良い解決策がある場合は、ここで共有してください。
ありがとう
<?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 サーバー経由でメールを送信する[^]
[ad_2]
コメント