Форуми / National / Russian / Вопросы и пожелания к движку

Для юзеров Seditio и новичков

Graber
#17997 19.10.2009 16:41
Сегодня попользовался восстановлениt пароля для пользователя.
Никак не могу понять, почему это отдельный плагин (passrecover), а не кусок core/users.

Но хочу поговорить не про passrecover, а про функцию sed_mail.
На почтовом сервере, где есть касперский антиспам письма отправленные функцией sed_mail получают доп. спам очки за отсутствие Message-ID и за отсудствие энкодинга в поле From.
Решается это очень просто:
$headers = (empty($headers)) ? 
"From: \"".$cfg['maintitle'].
"\" <".$cfg['adminemail'].">\n".
"Reply-To: <".$cfg['adminemail'].">\n" : $headers;
меняем на:
$headers = (empty($headers)) ?.
"From: \"".mb_encode_mimeheader($cfg['maintitle'], $cfg['charset'], 'B', "\n").
"\" ".$cfg['adminemail'].">\n".
"Reply-To: <".$cfg['adminemail'].">\n" : $headers;
и добавляем строку:
$headers .= "Message-ID: <".md5(uniqid(microtime()))."@".$_SERVER['SERVER_NAME'].">\n";
Такое письмо не будет получать лишние СПАМ очки. Я не знаю как к этому относятся другие антиспам системы, может и не начисляют ничего. Возможно это исправление стоит внести.
Кто бездействует, тот не завоевывает