LINUX.ORG.RU
ФорумAdmin

Postfix: как определить клиент, из которого отправлено исходящее сообщение?

 ,


0

2

Добрый день. Я добавляю подписи к исходящим сообщениям с помощью altermime. Часть сотрудников использует Outlook, часть Thunderbird. К письмам Outlook нужно добавлять подпись в кодировке KOI8-R, к письмам из Thunderbird - в UTF-8. Как однозначно идентифицировать клиент, из которого отправлено письмо (анализируя исходный код письма)?

Я обратил внимание, что письма, отправленные из Thunderbird, имеют строку вроде

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2
а письма из Outlook
X-Mailer: Microsoft Outlook 14.0

Казалось бы, можно грепнуть эту строку и понять откуда отправлено письмо. Но. Если пользователь из своего Outlook ОТВЕЧАЕТ на письмо, отправленное из Thunderbird, исходящее письмо будет содержать оба признака сразу.

исходящее письмо будет содержать оба признака сразу.

лол что? точно оба будут в хедерах, а не в теле?

Bers666 ★★★★★ ()

Добавляй картинку с подписью и никаких кодировок :-)

futurama ★★★★★ ()

исходящее письмо будет содержать оба признака сразу

Нет. В заголовках будет только один признак. Тело письма грепать не надо, там всё может быть.

sergej ★★★★★ ()
Ответ на: комментарий от dpronyaev

заголовки от тела отделяются пустой строкой

sergej ★★★★★ ()
Ответ на: комментарий от dpronyaev

Читай rfc. Заголовок от тела отделён пустой строкой.

beastie ★★★★★ ()

В любом случае ты это всё неправильно затеял. Для добавления сигнатуры тебе надо переписывать тело, без разницы, в каком клиенте создали письмо. А там теперь почти повсеместно multipart с очень замысловатой структурой. Тч простой скиптовухой тут уже не обойтись.

beastie ★★★★★ ()

Наверное никак, но может быть порядок следования меток как то прояснит ситуацию.

Shulman ()

каждое mime вложение может иметь свою кодировку, разве нет? Так что необходимость определять ua отпадает.

Bers666 ★★★★★ ()
Ответ на: комментарий от Bers666

каждое mime вложение может иметь свою кодировку, разве нет?

Только вот сообщение может быть без вложений. Ну и такую кашу какие-то клиенты могут и не разобрать на самом деле: так-то можно, но кому придёт в голову в здравом уме так сообщение формировать?

AS ★★★★★ ()

Как однозначно идентифицировать клиент, из которого отправлено письмо (анализируя исходный код письма)?

Никак. У некоторых клиентов это поле ещё и в настройках меняется.

Если пользователь из своего Outlook ОТВЕЧАЕТ на письмо, отправленное из Thunderbird, исходящее письмо будет содержать оба признака сразу.

Это чушь. Если ты, конечно, не имеешь ввиду целиком приатаченное вложением исходное письмо. Но в заголовке двух полей не будет.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.