[英]not getting emails from my php contact form
我有一個contact.html表單,該表單將字段提交給contact.php腳本; 但是,我的收件箱中沒有收到電子郵件。 是,收件人:電子郵件地址正確。 這是表單網頁的地址,這是contact.php的代碼
<?php
$my_email = "jlvazquez825@gmail.com";
$final_msg = "";
//validation function
function validate($data) {
$data = trim($data); //removing white space and tabs
$data = stripslashes($data); //removing \
$data = htmlspecialchars($data); //converting to html
return $data;
}
if($_SERVER['REQUEST_METHOD'] == "POST") {
$name = validate($_POST["name"]);
$email = validate($_POST["email"]);
$subject = validate($_POST["subject"]);
$message = validate($_POST["message"]);
}
$final_msg += "name: " . $name . "\n" .
"email: " . $email . "\n" .
"subject: " . $subject . "\n" .
"message: ". $message;
$headers = "From: miatech@sohotechnology.org \r\n" . "Reply-To: " . $email . "\r\n";
if(mail($my_email, $subject, $final_msg, $headers)) {
echo "<b>Your Message Was Successfuly Sent!... Thanks</b>" . "<br>";
echo "<b>name: </b>" . $name . "<br>";
echo "<b>email: </b>" . $email . "<br>";
echo "<b>subject: </b>" . $subject . "<br>";
echo "<b>message: </b>" . $message;
}
else {
echo "<b>Your Message Could not be Sent!... Sorry</b>";
}
?>
您使用錯誤的串聯運算符。
字符串的正確值是.=
,而不是+=
。
$final_msg .= '...';
然后,如果表單已發送,則一切都應處於良好狀態。 現在,您嘗試每次加載腳本時都發送郵件,具體取決於(成功)發送表單的事實。
if($_SERVER['REQUEST_METHOD'] == "POST") {
// sanitize form data, prepare $headers, $final_msg here
if (mail(...)) {
...
} else {
...
}
}
條件應該是
if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) &&
!empty($_POST['name']) &&
!empty($_POST['subject']) &&
!empty($_POST['message'])
) {
//
} else {
// incomplete form was sent, or data are incorrect
}
if($_SERVER['REQUEST_METHOD'] == "POST") {
指令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.