URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 9399
[ Назад ]

Исходное сообщение
"Сервер почтовой рассылки - проблема кодировки"

Отправлено Vy , 16-Окт-01 23:43 
Похоже, что проблема в sendmail... Скрипт, осуществляющий рассылку выглядит приблизительно следующим образом:

#!/usr/local/bin/perl
use MIME::Lite;
use locale;
use POSIX qw(locale_h);
setlocale(LC_CTYPE, 'KOI8-R');

open (MESSAGE, "/.../my.htm");
@message=<MESSAGE>;
close MESSAGE;

$subject="subject.my";

### Create a new multipart message:
$msg = MIME::Lite->new(
       From    =>'ADRESS',
       To      =>'USER',
       Subject =>"$subject",
       Type    =>'TEXT/HTML',
       Data    =>"@message"
       );

### Attach a part:
$msg->attr('content-transfer-encoding' => '8bit');
$msg->attr("content-type.charset" => "windows-1251");
$msg->attach(Type     =>'image/gif',
             Path     =>'/.../my.gif',
             Filename =>'my.gif'
             );

MIME::Lite->send("sendmail", "/usr/sbin/sendmail");

$msg->send();

Все, в принципе, работает замечательно, за исключением того, что почтовый клиент не понимает поле subject, в какой бы кодировке я его не писал... Буду благодарен любому совету, а то уже умаялся копаться с кодировками :)


Содержание

Сообщения в этом обсуждении
"RE: Сервер почтовой рассылки - проблема кодировки"
Отправлено Y , 17-Окт-01 11:24 
Не уверен, но если ни в какой кодировке не читается скорее всего траблы с 8 битом
Хотя не верится что для сабджекта что-то отдельно указывать надо - письмо - оно и есть письмо все правила на всё его действовать должны

"RE: Сервер почтовой рассылки - проблема кодировки"
Отправлено lavr , 17-Окт-01 20:10 
>Похоже, что проблема в sendmail... Скрипт,
>осуществляющий рассылку выглядит приблизительно следующим
>образом:
>
>#!/usr/local/bin/perl
>use MIME::Lite;
>use locale;
>use POSIX qw(locale_h);
>setlocale(LC_CTYPE, 'KOI8-R');
>
>open (MESSAGE, "/.../my.htm");
>@message=<MESSAGE>;
>close MESSAGE;
>
>$subject="subject.my";
>
>### Create a new multipart message:
>
>$msg = MIME::Lite->new(
>       From    =>'ADRESS',
>       To      =>'USER',
>       Subject =>"$subject",
>       Type    =>'TEXT/HTML',
>       Data    =>"@message"
>      
> );
>
>### Attach a part:
>$msg->attr('content-transfer-encoding' => '8bit');
>$msg->attr("content-type.charset" => "windows-1251");
>$msg->attach(Type     =>'image/gif',
>             Path     =>'/.../my.gif',
>             Filename =>'my.gif'
>      
>    
>  );
>
>MIME::Lite->send("sendmail", "/usr/sbin/sendmail");
>
>$msg->send();
>
>Все, в принципе, работает замечательно, за
>исключением того, что почтовый клиент
>не понимает поле subject, в
>какой бы кодировке я его
>не писал... Буду благодарен любому
>совету, а то уже умаялся
>копаться с кодировками :)

RFC на MIME в headers однако, номер не помню,
но все эти RFC обычно ходят с elm/mutt/pine

попробуй в Subject'е символы из latin-1 и
наверняка все сработает, в случае же с 8-bit,
ищи модули и функции из perl которые используются
для мимяшения заголовков.