Форма обратной связи php скрипт для отправки спама в Gmail

Я создал скрипт php (для контактной формы), чтобы отправлять электронные письма на мою учетную запись Gmail.
Если я использую письмо отправителя в шапке ($ headers = «From:». $ По электронной почте;), Gmail сообщает о полученном сообщении как спам.
Если я не использую электронную почту в заголовке (например, имя отправителя $ headers = «From:». $ Имя;) сообщение не считается спамом.
Есть ли у вас какие-либо предложения, чтобы я мог использовать электронную почту в шапке?
Спасибо!

<?php

/* Check if the url field is empty (antispam) */
if ($_POST['leaveblank'] != '' or $_POST['dontchange'] != 'http://') {
$name = $_POST['name'];
$faillink = "xxx.php";
header("Location: $faillink");
} else {

$name = $_POST['name'];
$email = $_POST['email'];
$subject_prefix = "[ContactForm]: ";
$subject = $subject_prefix . $_POST['subject'];
$message = $_POST['message'];
$to = "myemail@gmail.com";

$body = "From: " . $name . "\n";
$body .= "Email: " . $email . "\n";
$body .= "Message: " . $message . "\n";

$headers = "From: " . $email;

$oklink = "yyy.php";
$faillink = "xxx.php";

if ( preg_match( "/[\r\n]/", $name ) || preg_match( "/[\r\n]/", $email ) ) {
header("Location: $faillink");
}

$retmail = mail($to, $subject, $body, $headers);
if ($retmail) {
header("Location: $oklink");
} else {
header("Location: $faillink");
}
}

?>

0

Решение

Я решил проблему как Iain предложил, чтобы я заменил заголовки почты следующим образом:

$headers = "From: " . "noreplay@mydomain.com" . "\r\n";
$headres .= "Reply-To: " . $email . "\r\n";
2

Другие решения

Других решений пока нет …