The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Изменение поля Subject с помощью procmail"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Изменение поля Subject с помощью procmail"
Сообщение от none emailИскать по авторуВ закладки on 17-Фев-04, 13:32  (MSK)
Давно спрашивал как Subject в письмах из quoted-printable декодировать. Дали ссылку на пример, но там выделяется поле Subject, декодируется и помещается в переменную SUBJECT. А как теперь в письме заменить Тему этой переменной?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Изменение поля Subject с помощью procmail"
Сообщение от chip Искать по авторуВ закладки on 17-Фев-04, 16:18  (MSK)
>Давно спрашивал как Subject в письмах из quoted-printable декодировать. Дали ссылку на
>пример, но там выделяется поле Subject, декодируется и помещается в переменную
>SUBJECT. А как теперь в письме заменить Тему этой переменной?

судя по всему понадобилось это для получения писем с форума ;-) ? Напиши мне  на мыло chip-set(a)mail(.)ru

Вместе разберемся.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Изменение поля Subject с помощью procmail"
Сообщение от dev emailИскать по авторуВ закладки on 18-Фев-04, 00:06  (MSK)
>Давно спрашивал как Subject в письмах из quoted-printable декодировать. Дали ссылку на
>пример, но там выделяется поле Subject, декодируется и помещается в переменную
>SUBJECT. А как теперь в письме заменить Тему этой переменной?

man procmailex
/formail

man formail

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Изменение поля Subject с помощью procmail"
Сообщение от none emailИскать по авторуВ закладки on 18-Фев-04, 11:26  (MSK)
Как я понял надо сделать вот так:

########################################################
# === Выделение заголовка Subject:
#
GETTEXT="[ ]*\/[^ ].*"
:0ch:
* ^Subject:
* $^Subject:${GETTEXT}
/dev/null

SUBJECT=`/bin/echo ${MATCH}|/bin/grep -v \?KOI8-R\?`
SUBJECT_BASE64=`/bin/echo ${MATCH}|/bin/grep -q \?KOI8-R\?B\? &&
/bin/echo ${MATCH}|/bin/cut -d '?' -f 4 | /usr/bin/mimencode -u`
SUBJECT_QOUTED=`/bin/echo ${MATCH}|/bin/grep -q \?KOI8-R\?Q\? &&
/bin/echo ${MATCH}|/bin/cut -d '?' -f 4 | /usr/bin/mimencode -u -q`
SUBJECT=${SUBJECT}${SUBJECT_BASE64}${SUBJECT_QOUTED}

:0 fhw
| formail -I "Subject: $SUBJECT"
#
#######################################################

Но почему-то ничего не работает (не перекодирует в смысле).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Изменение поля Subject с помощью procmail"
Сообщение от dev emailИскать по авторуВ закладки on 18-Фев-04, 14:28  (MSK)
> Но почему-то ничего не работает (не перекодирует в смысле).

А что не работает: перекодировка заголовка или подстановка нового заголовка?
М.б. проще все это записать в отдельный скрипт и вызывать его из .procmailrc?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Изменение поля Subject с помощью procmail"
Сообщение от none emailИскать по авторуВ закладки on 18-Фев-04, 16:30  (MSK)
>А что не работает: перекодировка заголовка или подстановка нового заголовка?

Перекодировка не работает по-видимому. Потому что пробовал "formail -ISubject: $SUBJECT" заменить на "formail -ISubject: Test", и Subject в письмах заменялся на "Test". А всё остальное (то что выше) я взял из http://groups.google.com.ru/groups?th=72b8c498628e86fd&rnum=4 (это здесь же посоветовали)

>М.б. проще все это записать в отдельный скрипт и вызывать его из
>.procmailrc?

А чем проще то? да и не сложнее. Результат от этого не изменится.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Изменение поля Subject с помощью procmail"
Сообщение от dev emailИскать по авторуВ закладки on 19-Фев-04, 15:33  (MSK)
>>А что не работает: перекодировка заголовка или подстановка нового заголовка?
>
>Перекодировка не работает по-видимому. Потому что пробовал "formail -ISubject: $SUBJECT" заменить на
>"formail -ISubject: Test", и Subject в письмах заменялся на "Test". А
>всё остальное (то что выше) я взял из http://groups.google.com.ru/groups?th=72b8c498628e86fd&rnum=4 (это здесь
>же посоветовали)

Ну так и отладь шаг за шагом.

>>М.б. проще все это записать в отдельный скрипт и вызывать его из
>>.procmailrc?
>
>А чем проще то? да и не сложнее. Результат от этого не
>изменится.

Отлаживать легче.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Изменение поля Subject с помощью procmail"
Сообщение от none emailИскать по авторуВ закладки on 20-Фев-04, 22:03  (MSK)
В общем получил следующую вещь.
Когда я смотрю письма в mutt (или открываю ящик просто как текстовый файл, например, с помощью less), то поле Subject имеет следующий вид:

1) "=?KOI8-R?Q?=E9=DA=CD=C5=CE=C5=CE=C9=C5 =D0=CF=CC=D1 Subject =D3 =D0=CF=CD=CF=DD=D8=C0 procmail?="

А при приёме почты (на этапе procmail) перекодирующему скрипту поле Subject передаётся в следующем виде:

2) "=?koi8-r?B?PT9LT0k4LVI/UT89RTk9REE9Q0Q9?= =?koi8-r?B?QzU9Q0U9QzU9Q0U9Qzk9Qw==?= =?koi8-r?Q?5?= =D0=CF=CC=D1 Subject =D3 =D0=CF=CD=CF=DD=D8=C0 procmail?=

Строку 1) скрипт перекодирует ПРАВИЛЬНО!!!, а строку 2) он вообще не трогает (ну это вполне естественно - в оригинальном решении я заменил "=?koi8-r?" на "=?KOI8-R?") Пробовал вернуть оригинальное решение - тогда строка 2) перекодируется в следующее:

"=?KOI8-R?Q?=E9=DA=CD=PT9LT0k4LVI/UT89RTk9REE9Q0Q9"

==============
Поле Subject получаю (.procmailrc) либо так

:0
* .*
{
SUBJECT=`formail -xSubject:`
}

либо так

GETTEXT="[ ]*\/[^ ].*"
:0ch:
* ^Subject:
* $^Subject:${GETTEXT}
/dev/null
SUBJECT=$MATCH


(результат одинаковый)
и передаю скрипту так:

SUBJECT=`$HOME/bin/decodemail "$SUBJECT"`

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру