Forums / National / Russian / Не работает отправка почты

Trustmaster
#24759 2010-05-29 02:36
Боюсь вас огорчить, но с 0.6.6 ничего, что могло бы даже затронуть отправку почты, не менялось.

Разница в отправке почты между Seditio и Cotonti в том, что последний поддерживает правильную обработку 8-битных кодировок (к коим относится и кириллица). Проблема может заключаться в последнем, поскольку не все почтовики поддерживают юникод и 8bit. В таком случае обычно письма приходят, но с кракозяблами вместо кириллицы. В качестве эксперимента можете попробовать в system/functions.php заменить функцию sed_mail на следующую:
function sed_mail($fmail, $subject, $body, $headers='', $additional_parameters = null)
{
	global $cfg;

	if(empty($fmail))
	{
		return(FALSE);
	}
	else
	{
		$headers = (empty($headers)) ? "From: \"".$cfg['maintitle']."\" <".$cfg['adminemail'].">\n"."Reply-To: <".$cfg['adminemail'].">\n" : $headers;
		$body .= "\n\n".$cfg['maintitle']." - ".$cfg['mainurl']."\n".$cfg['subtitle'];
		if($cfg['charset'] != 'us-ascii')
		{
			$headers .= "Content-Type: text/plain; charset=".$cfg['charset']."\n";
			$headers .= "Content-Transfer-Encoding: base64\n";
			$subject = mb_encode_mimeheader($subject, $cfg['charset'], 'B', "\n");
		}
		if(ini_get('safe_mode'))
		{
			mail($fmail, $subject, base64_encode($body), $headers);
		}
		else
		{
			mail($fmail, $subject, base64_encode($body), $headers, $additional_parameters);
		}
		sed_stat_inc('totalmailsent');
		return(TRUE);
	}
}
May the Source be with you!