私のウェブサイトの私の連絡フォームからのメールが届かず、これを修正する方法がわからないのですか?このWebサイトはMicrosoft Azureでホストされています。これを解決するにはどうすればいいですか?紺碧でホストされているPHPの連絡フォームからEメールを受け取るには?
私は現在持っているコードは次のとおりです。
<?php
if (isset($_POST['contact_name']) && isset($_POST['contact_email'])
&& isset($_POST['contact_text'])) {
$contact_name = $_POST['contact_name'];
$contact_email = $_POST['contact_email'];
$contact_text = $_POST['contact_text'];
if(!empty($contact_name) && !empty($contact_email) && !empty($contact_text)) {
$to = '[email protected]';
$subject = 'Message from website.';
$body = $contact_name."\n".$contact_text;
$headers = 'From: ' .$contact_email;
if(@mail('[email protected]', $contact_text, $body, $headers)) {
echo 'Thank you';
} else {
echo 'error.';
}
}
else {
echo 'You're missing something';
}
}
?>
<form action="" method="POST">
Name: <input type="text" name="contact_name">
Email: <input type="text" name="contact_email">
Message: <textarea name="contact_text" rows="5" cols="20"></textarea>
<input type="submit" value="Send">
</form>
ありがとうございました。
デバッグを開始する:あなたの耳にあなたのプログラムされた指を詰めるのをやめてください。 "lalalalalalaはあなたのことを聞くことができません" - 決して '@'を使用するべきではありません。その "エラー"出力が得られない場合は、PHPの問題ではありません。 php/mailの仕事は、あなたの封筒を通りの角まで歩き、メールボックスに投げることです。 PHPが家に戻ってきたら、その仕事は完了し、それは真を返します。それ以降に何が起こったのかを見るには、メールサーバのログを調べる必要があります。 –
さて、@はすでにカバーされていますが、あなたのコードは 'あなたが何かを逃しているため'実行されるべきではありません。あなたはそれをエスケープする必要があります。 – Eihwaz
もしあなたが@を使用するなら、あなたは問題が何かを決して知らないでしょう。 gmail smtpを指定することもできますか? http://swiftmailer.org/を見てみてください。 – unixmiah