Использую вот такой код для отправки писем, но не смотря на то, как бы я не изменял кодировку текста, тело письма выглядит как набор непонятных символов.
Класс mailer -
Вот тутrequire_once 'class.phpmailer.php';
$subject = iconv(mb_detect_encoding($subject), 'windows-1251 , $subject);
$body = iconv(mb_detect_encoding($body), 'windows-1251', $body);
$subject = '=?windows-1251?B?' . base64_encode($subject) . '?=';
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "mx1.hostinger.ru";
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->Port = порт;
$mail->Username = "юзер";
$mail->Password = "пароль";
$mail->setFrom(($noreply ? 'noreply' : 'mail') . '@мой домен', 'ля ля ля');
$mail->addReplyTo("мой адрес", "Ля ля ля");
$mail->Subject = $subject;
$mail->AltBody = "В письме используется HTML!";
$mail->msgHTML($body);
foreach ($users as $user) {
$mail->addAddress($user);
}
if (!$mail->send()) {
return "Ошибка: " . $mail->ErrorInfo;
} else {
return "Отослано!";
}