Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировка писем, люди жалуются что получают абракадабру 
:(
    Опции темы
dmipro
Дата 5.1.2011, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 5.1.2011

Репутация: нет
Всего: нет



Здравствуйте, мой скрипт отправляю почту с формы запроса моего сайта через sendmail. Сайт имеет кодировку Win 1251. При получении не все почтовые клиенты корректно отображают кодировку. The bat - без проблем, правильно показывает кириллицу.  А вот Microsoft Outgluk  показывает иероглифы,  даже когда его носом тычешь в Win 1251, и директор и др. сотрудники кому приходит почта с сайта жалуются.
Пробовал на сайте ставить KOI8-R, тогда the bat начинает конючить, но принудительное выставление помогает. 

Поскольку я не могу точно знать у кого какой почтовый клиент, если ли возможность в скрипте однозначно выставить кодировку для всех почтовых клиентов?

Спасибо.   
PM MAIL   Вверх
Jimy
Дата 5.1.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 4.7.2010

Репутация: нет
Всего: 3



Добавьте в заголовок письма
Код

Content-Type: text/plain; charset=cp1251;

Или пользуйтесь пакетом MIME::Lite, он упрощает формирование заголовков писем.

PM   Вверх
dmipro
Дата 5.1.2011, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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;?

PM MAIL   Вверх
Jimy
Дата 5.1.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 4.7.2010

Репутация: нет
Всего: 3



Код

sub MakeMessage
{
    my ($to, $from, $subject, $mainbody) = @_;
my $message = <<"__EOM__";
From: $from
To: $to
Subject: $subject
Content-Type: text/plain; charset=cp1251

$mainbody

__EOM__

    return $message;
}

PM   Вверх
dmipro
Дата 5.1.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 5.1.2011

Репутация: нет
Всего: нет



спасибо, попробую!
PM MAIL   Вверх
dmipro
Дата 10.1.2011, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 5.1.2011

Репутация: нет
Всего: нет



С такой директивой: 

Content-Type: text/plain; charset=cp1251

не пошло, расстроился, посмотрел директиву из примера к модулю  MIME::Lite. 

Поставил так:

Content-Type: text/plain; charset=windows-1251

и все заработало!  Во всяком случае, мне в Outlook приходит теперь правильно.

Спасибо огромное!


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.