Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Denis Zwerew                         2:5030/1521    08 Nov 2000  15:05:10
 To : Andrey Brindeew
 Subject : RFC-1521 (1522)
 -------------------------------------------------------------------------------- 
 
 
 Суб Hоя 04 2028 20:28, Andrey Brindeew wrote to All:
 Вот кусок из моего примера, который читает заголовок и отображает его на вебе:
 
 use MIME::Base64 ();
 ...
    print "Content-type: text/html\n\n";
    print "<HTML><HEAD><TITLE>Header of messages</TITLE>";
    print '<META HTTP-EQUIV="Content-Type" CONTENT="text/plain; charset=koi8-r"> 
 </HEAD><BODY>';
    print "<TABLE BORDER=1>";
       open(TEMP, "$dirname/$filename"); /$filename - файл с одним письмом
       while($data=<TEMP>){
          chomp($data);
          if ($data =~ /^Date:/){
             ($date = $data) =~ s/^Date://g;
          }
          if ($data =~ /^From:/){
             ($from = $data) =~ s/^From://g;
             $fromR = MIME_decoder($data);
          }
          if ($data =~ /^Subject:/){
             ($subj = $data) =~ s/^Subject://g;
             $subjR = MIME_decoder($data);
          }
       }
       close(TEMP);
       print "<TR>";
       print "<TD>$fromR</TD><TD>$subjR</TD><TD>$date</TD>";
       print "</TR>";
    print "</TABLE>";
    print "</BODY></HTML>";
 }
 
 sub MIME_decoder{
    ($decoded) = @_;
    if ($decoded =~ /iso-8859-5/){
       $decoded =~ s/^.+\?iso-8859-5\?B\?(.+)\?.+$/$1/g;
       $from_dec =
 "°±¶іґµб¶·г№д»јЅѕзАБВГДЕЖЗИЙКЛМНОПРСТУФХёЦЧШЩЪЫЬЭЮЯрстуфхцчшщъыьэюя";
    }
    if ($decoded =~ /koi8-r/){
       $decoded =~ s/^.+\?koi8-r\?B\?(.+)\?.+$/$1/g;
       $from_dec =
 "стччфхіцъщъыьэюяЁтуфхцшуюыэ\377щшьрёБВЧЗДЕгЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС";
    }
    if ($decoded =~ /windows-1251/){
       $decoded =~ s/^.+\?windows-1251\?B\?(.+)\?.+$/$1/g;
       $from_dec =
 "АБВГДЕіЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯрстуфхгцчшщъыьэюяЁётуфхцчшщъыьэю\377";
    }
    if ($decoded =~ /cp866/){
       $decoded =~ s/^.+\?cp866\?B\?(.+)\?.+$/$1/g;
       $from_dec = "АБВГДЕЁЖЗИЙКЛМHОПРСТУФХЦЧШЩЪ
 абвгдЅёжзійґлмно·рстуфхцчшщъыьэюя";
    }
    $to_dec =
 "стччфхіцъщъыьэюяЁтуфхцшуюыэ\377щшьрёБВЧЗДЕгЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС";
    $decoded = MIME::Base64::decode($decoded);
    eval "\$decoded =~ tr/$from_dec/$to_dec/";
    return($decoded);
 }
 
  AB> "Denis Zwerew" wrote:
  >> попробуй так:
  >> use MIME::Base64 ();
  >> ...
  >> $subj = "Subject: " . MIME_decoder("здесь пишем тему письма");
  AB> Hа самом деле решение было-таки найдено: MIME::Words .
 
  AB> Так что, видимо, придется мне разработать модуль, который бы строго
  AB> следовал RFC-822 & RFC-1522 в части headers (т.е. просто скармливаем
  AB> массив адресов, а модуль весьма аккуратно со всем этим разбирается,
  AB> энкодит все как положено и скармливает полученное модулям MIME::* -
  AB> для создания письма).
     С наилучшими пожеланиями,
                          Denis.
 
     ICQ UIN:           7311194  (Always OnLine)
     Phone (work):      118-4800 (10:00 - 18:00)
 --- System Administrator of Ilim Palp Enterprise
  * Origin:  ->  Denis.Zverev@ipe.com.ru  <-     (2:5030/1521)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 RFC-1521   Andrey Brindeew   02 Nov 2000 22:51:26 
 Re: RFC-1521   vitus@ice.ru   03 Nov 2000 11:39:58 
 Re: RFC-1521   Andrey Brindeew   03 Nov 2000 16:14:32 
 RFC-1521   Denis Zwerew   04 Nov 2000 17:52:12 
 Re: RFC-1521 (1522)   Andrey Brindeew   04 Nov 2000 21:28:52 
 RFC-1521 (1522)   Denis Zwerew   08 Nov 2000 15:05:10 
Архивное /ru.cgi.perl/146643a095fa8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional