Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Проблема с кодировками при отправке почты.


Автор: AllerGen 22.8.2008, 09:33
Написал скрипт, который отправляет email`ы.
Работает.
С моего компа.
А вот если запускать с другой машины письмо приходит с кракозябрами в теле письма...

Кодировка файла со скриптом - windows-1251.
Пробовал и в utf-8. Соответственно перекодировку заголовков  и charset указывал корректно.

мой комп: WIN XP SP3
глючный комп: WIN Server 2003 R2 SP2
ActivePerl на обоих, набор пакетов одинаковый.


Сам скрипт:
Код

use Net::SMTP;
use MIME::Base64;

$smtp = Net::SMTP->new('server.ru');
$smtp->mail('[email protected]');
$smtp->to('[email protected]');
$smtp->data();
$smtp->datasend("To: [email protected]\n");
$smtp->datasend("From: =?windows-1251?B?".substr(MIME::Base64::encode("Автоуведомлятор"), 0, -1)."?=\n");
$smtp->datasend("Subject: =?windows-1251?B?".substr(MIME::Base64::encode("Уведомление"), 0, -1)."?=\n");
$smtp->datasend("Content-Type: text/plain; charset=windows-1251\n");
$smtp->datasend("\n");
$smtp->datasend('Тело письма');
$smtp->dataend();
$smtp->quit;


Знатоки, подскажите куда копать...

Автор: AllerGen 22.8.2008, 10:15
Нашел...

На сервере был ActivePerl-5.8.8.822-MSWin32-x86-280952.
Обновил до ActivePerl-5.10.0.1003-MSWin32-x86-285500 и все стало окейно!!!

Автор: nitr 22.8.2008, 10:36
думаю эти модули обновились
use Net::SMTP;
use MIME::Base64;

т.е. обновлять на 5.10 было не обязательно.

Автор: AllerGen 22.8.2008, 11:59
Цитата(nitr @  22.8.2008,  10:36 Найти цитируемый пост)
т.е. обновлять на 5.10 было не обязательно.

нет, я когда установленные пакеты сравнивал (десктоп с сервером) первым делом обновил все что он предложил на обеих машинах.

Кстати, это нормально, что новый ActivePerl поверх старого не ставится? Пришлось выносить 5.8. Пакеты, не входящие в базовую установку пришлось доустанавливать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)