Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
-86 / 7 / 0
Регистрация: 29.08.2014
Сообщений: 247

Трабл с кодировкой в поле Subject

31.01.2020, 18:40. Показов 4006. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сейчас есть такой Perl-овый скриптик (знаю, что здесь раздел php) для рассылки писем, но с ним есть мелкие нерешённые косяки, например проблема с кодировкой в поле Subject - у некоторых получателей там получается абдра-кадабра:

Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl
 
$|=1;
*STDERR=*STDOUT;
 
$letter='';
 
$r=open(LET,"letter");
print "letter: \$r=$r\n$!\n" if !$r;
$From=<LET>;
$Subj=<LET>;
while(<LET>) {$letter.=$_}
close LET;
 
$r=open(ADDR,"addr");
print "addr: \$r=$r\n$!\n" if !$r;
$cnt=0;
while(<ADDR>) {
 my $em='';
 $cnt++;
 s/\s+$//;
 $name=$_;
 $em=$cnt.": Имя не найдено\n" if $name eq '';
#print length($name).": $name=\n$em\n"; exit;
 $fname=(split /\s+/,$name)***91;0***93;;
 $addr=<ADDR>; $cnt++;
 $addr=~s/\s+$//;
 $em.=$cnt.": Адрес не найден\n" if $addr eq '';
 $em.=$cnt.": Неправильный адрес ***91;$addr***93;\n" if $addr!~/^***91;^@***93;+@***91;^@***93;+$/;
 if($em){ print $em; exit }
 $foo=<ADDR>; $cnt++;
 my $let=$letter;
 $let=~s/%%%/$fname/;
 my $psubj=$Subj;
 $psubj=~s/%%%/$fname/;
 
 my $mailprog="/usr/sbin/sendmail";
 $r=open(MAIL,"|$mailprog -t");
 print "sendmail: \$r=$r\n$!\n" if !$r;
 
 my $letlen=length($let);
 print MAIL "To: $name <$addr>\n";
 print MAIL "From: $From";
 print MAIL "Content-Type: text/plain; charset=UTF-8\n";
 print MAIL "Reply-To: $From";
 print MAIL "Return-Path: $From";
 print MAIL "Subject: $psubj";
 print MAIL "Content-Length: $letlen\n";
 print MAIL "\n$let";
 close MAIL;
 
 print "To: $name <$addr>\n";
 sleep(6)
}
close ADDR;
Подскажите как исправить, чтобы у всех был читабельный Subject.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.01.2020, 18:40
Ответы с готовыми решениями:

Как выбрать нужный элемент в переменную @subject с помощью find, а не все как @subject = Subject.all ?
Имеются 3 таблицы: teachers, subjects и subscriptions (в этой таблице имеются поля teacher_id, subject_id ). Связь many-to-many. Не...

Распарсить поле subject в X509 сертификате
Здравствуйте. Помогите пожалуйста разобраться с проблемой при чтении информации из сертификата в формате Der. У меня есть тестовый...

Delphi + JSON (опять же трабл с русской кодировкой)
Доброго времени суток. В общем делаю запрос к php который делает выборку из БД. Все понятно. НО! Если англ. символы то все гуд. Если рус....

20
 Аватар для volodin661
7151 / 2339 / 353
Регистрация: 10.12.2013
Сообщений: 8,109
04.02.2020, 18:16
Студворк — интернет-сервис помощи студентам
Net::SMTP ставить не надо, он и так в обойме должен быть
и это самостоятельный SMTP-клиент ( будет работать без postfix/exim )
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2020, 18:16

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из другой mysql.... МММ сайт на win 1251 а...

Теги типа abstract, subject ... ?????
натолкнулся на ресурс http://www.nikolaich.ru/pages.php?page=7 оказался очень интерсным. вот зашёл почитать о тегах..., ...

Русский subject в компоненте NMSMTP
Люди помогите, как из проги на Delphi отправить письмо с русским шрифтов в Subject. Компонент NMSMTP. Заранее благодарен

Как перекодировать Subject в нормальный текст?
Кто-нибудь знает, как перекодировать сообщение (*.eml), в частности 'Subject: =?koi8-r?B?4cHiwvfX58c=?=' в нормальный текст 'АаБбВвГг'? ...

Как получать данные $subject и $message по AJAX?
как сделать чтоб переменные $subject и $message передавались по AJAX? чтоб информация из бд выводилась в модальном окне кнопка на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru