Учимся отправлять почту с русским названием.

Веб-программирование 9 января 2010 г., 8:56

Возможно вы часто видите письма в заголовке какие то «каказябры»? И даже может сами сталкивались с тем что письма отправленные через php mail(), имеют в заголовке неверную кодировку или некоторые почтовые сервисы не могут отобразить ее в нужной кодировке.

 

Простым способом избавления от головной боли является шифрация заголовка почты. Вот очень маленький но удобный, рабочий пример отправки почты с зашифрованым в base64_encode заголовке. Как вы уже заметили я отправляю письмо использую кодировку utf-8

 


	function smail($email, $subject, $text, $header = NULL){
		
		$headers  = 'MIME-Version: 1.0' . "\r\n";

		$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
		$headers .= 'From: '.$_SERVER['SERVER_NAME'].' <noreply@'.$_SERVER['SERVER_NAME'].'>'."\r\n";

		$subject = "=?UTF-8?Q?".$subject."?=";

		if(!empty($header))
			$headers .= $header;

		if(!mail($email, $subject, $text, $headers)){
			return false;
		}

		return true;
	}

Теги: php 0


Станьте первым!

Пожалуйста, авторизуйтесь или зарегистрируйтесь для комментирования!

Яндекс.Метрика