![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| dmipro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 5.1.2011 Репутация: нет Всего: нет |
Здравствуйте, мой скрипт отправляю почту с формы запроса моего сайта через sendmail. Сайт имеет кодировку Win 1251. При получении не все почтовые клиенты корректно отображают кодировку. The bat - без проблем, правильно показывает кириллицу. А вот Microsoft Outgluk показывает иероглифы, даже когда его носом тычешь в Win 1251, и директор и др. сотрудники кому приходит почта с сайта жалуются.
Пробовал на сайте ставить KOI8-R, тогда the bat начинает конючить, но принудительное выставление помогает. Поскольку я не могу точно знать у кого какой почтовый клиент, если ли возможность в скрипте однозначно выставить кодировку для всех почтовых клиентов? Спасибо. |
|||
|
||||
| Jimy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
Добавьте в заголовок письма
Или пользуйтесь пакетом MIME::Lite, он упрощает формирование заголовков писем. |
|||
|
||||
| dmipro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 5.1.2011 Репутация: нет Всего: нет |
Спасибо, кажется я такое раньше пробовал давно, результата не было, и уже забыл правильный синтаксис. Я хочу попробовать еще раз, подскажите, пож., в какую часть кода мне добавить "Content-Type: text/plain; charset=cp1251;"?
я формирую начинку $to, $from, $subject, $mainbody, потом: $message = MakeMessage($to, $from, $subject, $mainbody); open (MAIL, "|/usr/sbin/sendmail -t -i") or die "Невозможно открыть sendmail: $!\n"; print MAIL $message; close (MAIL) or warn "Sendmail не был нормально закрыт"; sub MakeMessage { my ($to, $from, $subject, $mainbody) = @_; my $message = <<"__EOM__"; From: $from To: $to Subject: $subject $mainbody __EOM__ return $message; } Где тут корректно поставить строчку Content-Type: text/plain; charset=cp1251;? |
|||
|
||||
| Jimy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
|
|||
|
||||
| dmipro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 5.1.2011 Репутация: нет Всего: нет |
спасибо, попробую!
|
|||
|
||||
| dmipro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 5.1.2011 Репутация: нет Всего: нет |
С такой директивой:
Content-Type: text/plain; charset=cp1251 не пошло, расстроился, посмотрел директиву из примера к модулю MIME::Lite. Поставил так: Content-Type: text/plain; charset=windows-1251 и все заработало! Во всяком случае, мне в Outlook приходит теперь правильно. Спасибо огромное! |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |