Как предотвратить отправку почты через PHP mail () в спам?
Я использую функцию mail () PHP для отправки электронной почты (процесс sendmail запущен). Но все письма будут спам (В случае gmail). Я пробовал много трюков, которые я нашел в сети, но никто не работает, пожалуйста, расскажите мне о любом уверенном трюке.
5 ответов
вы должны добавить заголовки игла:
пример кода :
$headers = "From: myplace@example.com\r\n";
$headers .= "Reply-To: myplace2@example.com\r\n";
$headers .= "Return-Path: myplace@example.com\r\n";
$headers .= "CC: sombodyelse@example.com\r\n";
$headers .= "BCC: hidden@example.com\r\n";
if ( mail($to,$subject,$message,$headers) ) {
echo "The email has been sent!";
} else {
echo "The email has failed!";
}
?>
нет меткий трюк. Необходимо исследовать причины, по которым ваши письма классифицируются как спам. SpamAssassin hase страница с описанием некоторые советы для законных отправителей, чтобы избежать ложных срабатываний. См. также кодирование ужас: так что вы хотели бы отправить по электронной почте (через код)
попробовать библиотека PHP Mailer.
Или отправить почту через SMTP-фильтр перед отправкой.
Также попробуйте дать все детали, как FROM
, return-path
.
<?php
$subject = "this is a subject";
$message = "testing a message";
$headers .= "Reply-To: The Sender <sender@domain.com>\r\n";
$headers .= "Return-Path: The Sender <sender@domain.com>\r\n";
$headers .= "From: The Sender <sender@domain.com>\r\n";
$headers .= "Organization: Sender Organization\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-Mailer: PHP". phpversion() ."\r\n" ;
mail("reciever@domain.com", $subject, $message, $headers);
?>
$fromMail = 'set your from mail';
$boundary = str_replace(" ", "", date('l jS \of F Y h i s A'));
$subjectMail = "New design submitted by " . $userDisplayName;
$contentHtml = '<div>Dear Admin<br /><br />The following design is submitted by '. $userName .'.<br /><br /><a href="'.$sdLink.'"><b>Click here</b></a> to check the design.</div>';
$contentHtml .= '<div><a href="'.$imageUrl.'"><img src="'.$imageUrl.'" width="250" height="95" border="0" alt="my picture"></a></div>';
$contentHtml .= '<div>Name : '.$name.'<br />Description : '. $description .'</div>';
$headersMail = '';
$headersMail .= 'From: ' . $fromMail . "\r\n" . 'Reply-To: ' . $fromMail . "\r\n";
$headersMail .= 'Return-Path: ' . $fromMail . "\r\n";
$headersMail .= 'MIME-Version: 1.0' . "\r\n";
$headersMail .= "Content-Type: multipart/alternative; boundary = \"" . $boundary . "\"\r\n\r\n";
$headersMail .= '--' . $boundary . "\r\n";
$headersMail .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n";
$headersMail .= 'Content-Transfer-Encoding: base64' . "\r\n\r\n";
$headersMail .= rtrim(chunk_split(base64_encode($contentHtml)));
try {
if (mail($toMail, $subjectMail, "", $headersMail)) {
$status = 'success';
$msg = 'Mail sent successfully.';
} else {
$status = 'failed';
$msg = 'Unable to send mail.';
}
} catch(Exception $e) {
$msg = $e->getMessage();
}
это отлично работает для меня.Он включает в себя почту с изображением и ссылкой и работает для всех видов почтовых идентификаторов. Ключ состоит в том, чтобы использовать весь заголовок отлично.
если вы тестируете его с localhost, установите ниже Перед проверкой:
Как установить отправку почты из localhost xampp:
-
комментировать все
D:/xampp/sendmail/sendmail.ini
и упомянуть ниже[sendmail]
smtp_server=smtp.gmail.com smtp_port=587 error_logfile=ошибка.бревно debug_logfile=отладка.бревно auth_username=yourmailid@domain.com auth_password=ваш-mail-Пароль force_sender=yourmailid@domain.com
-
на
D:/xampp/php/php.ini
а. Под[функция mail]
SMTP = smtp.gmail.com smtp_port = 587
b. set sendmail_from = yourmailid@domain.com
С. раскомментируйте sendmail_path = "\"D:\xamp\sendmail\sendmail.exe\ " - t"
Следовательно, он должен выглядеть ниже
sendmail_path = "\"D:\xamp\sendmail\sendmail.exe\" -t"
д'. комментарий sendmail_path="D:\xamp\mailtodisk\mailtodisk.исполняемый" Следовательно, он должен выглядеть ниже
;sendmail_path="D:\xamp\mailtodisk\mailtodisk.exe"
e. mail.add_x_header=Off