PHP разработки


PHP: Отсылка письма с корректными заголовками

Размещена 6 августа, 2008 года


Наверняка вы часто встречали ситуацию когда письма не доходили до адресатов на @mail.ru

Все дело в том что некоторые из защит от спама считают неправильно составленные письма не просто спамом, а даже опасным спамом, и безвозвратно удаляют их, даже не помещая в папку "Сомнительные"

Тут я приведу пример скрипта, который отсылает почту корректно, и она всегда доставляется адресату, даже не попадая в ящик "Сомнительные"

sendmail: Корректная отсылка письма

<?

$body = <<<END
Это мое <b>Письмо</b>
END;

$subject="Заявка с сайта";
$to="[email protected]";
$from_email="[email protected]";
$subject="Робот заказов";

if (sendmail($subject,$body,$to,$from_email,$from_name,'html')){
  print "Заявка ушла";
} else {
  print "Ошибка отправки письма";
}

function sendmail($subject,$body,$to,$from_email,$from_name,$type='html')
{
	$headers = "X-PHP-Script: ".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]." for ".$_SERVER['SERVER_ADDR']."\r\n";
	$headers .= "MIME-Version: 1.0\r\n";
	$headers .= "Return-path: <".$from_email.">\r\n";
	$headers .= "Content-type: text/".$type."; format=flowed; charset=koi8-r; reply-type=original\r\n";
	$headers .= "Content-Transfer-Encoding: 8bit\r\n";
	$headers .= "X-Priority: 3\r\n";
	$headers .= "X-MSMail-Priority: Normal\r\n";
	$headers .= "X-Mailer: Automatic PHP Script\r\n";
	$headers .= "From:=?koi8-r?B?".base64_encode(convert_cyr_string($from_name,"w","k"))."?= <".$from_email.">\r\n";

	$subject = convert_cyr_string($subject,"w","k");
	$subject = base64_encode($subject);
	$subject = "=?koi8-r?B?".$subject."?=";

	$body=convert_cyr_string($body,"w","k");

	return(mail($to,$subject,$body,$headers));
}

?>

Возможно со временем спамозащита поднимется на новый уровень и необходимо будет доработать этот скрипт, но на данное время он работает как часы.

Автор: Козыч Антон

SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Стишки пирожки про Олега⁠⁠

Размещена 20 июня 2024 года

Олег купил презервативы
Проник в семидесятый год
И подарил их папе с мамой
Такой нелепый суицид

читать далее…

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…