Помогите с php mail() headers кодировкой, пожалуйста
Привет!
Только начал разбираться с php и уже вторые сутки не пойму в чем беда.
В письмах, отсылаемых php, в некоторых почтовых клиентах слетает кодировка в поле «от кого». Такая же проблема была с темой письма, однако решилась путём: mail($to,"=?windows-1251?B?".base64_encode($subject)."?=",$message,$headers); — вместо просто mail($to,$subject,$message,$headers);
Однако, когда такой же костыль я вставляю в $headers в поле From: то сообщения не отсылаются вообще. В логе постфикс только рапорты об отправленных сообщениях. Что я вставляю в $headers: $headers .= "From: =?windows-1251?B?".base64_encode($mailfrom)."?= <".$email."> \r\n";
я читал уже этот материал.
Проблема в том, что письма не отсылаются ВООБЩЕ с костылём для смены кодировки (я пробовал и utf-8 и пр.)
то есть строка $headers .= "From: =?windows-1251?B?".base64_encode($mailfrom)."?= <".$email."> \r\n"; тоже ничего не изменила.
Ещё раз — проблема в коде хидеров.
При $headers .= "From: ".$mailfrom." <".$email."> \r\n"; сообщение отсылается и приходит с птичьим языком в поле From: в IBM Notes (Outlook & Gmail работают).
При $headers .= "From: =?windows-1251?B?".base64_encode($mailfrom)."?= <".$email."> \r\n"; письма не отправляются вообще!
от кодировки не зависит, трабл в самом коде в строке $headers = «From:......»
Так как я полный нуб, я скорее всего где то не там ставлю точку, кавычку и т.п. =\