Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
пробую уточнить 11.01.05 22:18 Число просмотров: 2460
Автор: LLL <Алексей> Статус: Member
|
> Отпправляю почту я примерно таком кодом: > > #!/usr/bin/perl [... немного исходника выкинуто для краткости...]
> print MAIL "Date: ".$time."\n\n";
Обычно записываю такое чуть проще:
print MAIL "Date: $time\n\n";
[... тут тоже...]
> > > Всё работает замечательно, однако по поводу MIME мучают > сомнения - всё ли правильно я делаю. Кодировку в MIME я > делаю так: > > $subj=~s/([^\w])/sprintf("=%02X",ord($1))/ge; > Всё ли здесь учтено? Может быть по стандарту есть какие-то > частные случаи, которых я не учёл - тогда просьба > поправить.
Тут есть риск наколоться при использовании setlocale при возможном развитии проги.
\w будет в кириллической локали считать русские буквы обычными, поэтому они не будут закодированы.
Я бы предпочел готовое решение, чем руками что-то кодировать, не зная тонкостей стандартов.
К сожалению, Encode::MIME у меня сейчас отсутствует, чтобы заценить, как оно работает, но зато есть MIME::Base64
Соответственно можно сделать так:
$subj = "=?koi8-r?B?" . MIME::Base64("исходная строка в КОИ8-Р") . "?=";
> И ещё два оффтопных вопроса по этому же коду. Во-первых, из > модуля POSIX мне требуется всего одна функция gmtime(), > однако подключить её в одиночку как use POSIX 'gmtime' не > удаётся - вопит об ошибке. Вроде бы как такого быть не > должно - даже если в ней вызываются методы класса, а других > причин я не вижу.
Тут сам не понял, в чем дело, но ругается gmtime(), что ее надо звать со временем в качестве аргумента.
gmtime(time()) у меня прокатил.
При использовании модуля POSIX целиком видимо каким-то образом раскрываются дополнительные режимы вызова gmtime, но как их заставить проявиться, не подключая POSIX целиком, не знаю.
|
|
|