Ваш почтовый клиент позволяет вам добавлять пользовательские заголовки программно? - PullRequest
12 голосов
/ 17 ноября 2008

Я работаю над проектом по борьбе со спамом ( centmail ), в рамках которого отправитель использует плагин клиента, который добавляет собственный заголовок (а также подпись, но эта часть проще ). Общая проблема заключается в добавлении заголовка электронной почты к исходящей почте, в котором содержимое поля заголовка определяется динамически для каждого сообщения.

Удивительно, но это не представляется возможным в Pine / Alpine. Pine позволяет указать сценарий фильтра для исходящей почты, но через него пропускается только тело, а не заголовки. Конечно, вы можете определить пользовательские заголовки в настройках Pine, но я не вижу способа динамически изменять их содержимое.

Буду рад услышать, как это сделать в других почтовых клиентах (Thunderbird, Outlook, Evolution, Mutt и т. Д.). И конечно, если я ошибаюсь из-за Пайн.

Ответы [ 12 ]

27 голосов
/ 27 января 2009

Вы можете сделать это в Eudora .

Вы можете сделать это программно в Outlook с пользовательской формой .

Вы можете сделать это в Mozilla из: config .

20 голосов
/ 27 января 2009

Хотя это не плагин в самом строгом смысле этого слова, вы можете создать прокси-сервер SMTP, который будет изменять электронную почту - например, что-то вроде сканера исходящей электронной почты AVG. Это имело бы преимущество работы со многими почтовыми клиентами; Вы также можете создать плагин, который будет взаимодействовать с прокси-сервером с одной стороны и пользовательским интерфейсом электронной почты с другой.

5 голосов
/ 27 января 2009

Я согласен с Писквором. Я бы реализовал его в качестве прокси-сервера SMTP, который дал бы ряд преимуществ:

  1. Вы не будете ограничены каким-либо одним почтовым клиентом и, следовательно, ограничены его API (если есть)
  2. Может применяться на стороне почтового сервера, поэтому устраняются проблемы с установкой и развертыванием
5 голосов
/ 02 декабря 2008

Плагин Thunderbird Enigmail контролирует заголовки исходящей почты. Так что это доказательство существования, что это возможно в Thunderbird.

4 голосов
/ 27 января 2009

Emacs может сделать это программно. Вы можете создать буфер (get-buffer-create), заполнить его информацией заголовка и вызвать mail-send не интерактивно (установите mail-interactive в nil).

Пример содержимого буфера (заголовок + тело) для использования с mail-send:

From: "Toto" <toto@toto.net>
To: somebody@somewhere.net
Subject: Something
BCC: sebastien.rocca-serra@f4-group.com
--text follows this line--

Hello, how are you?

Вы также можете изменить каждое исходящее письмо (заголовок + тело), ​​добавив хук к mail-send-hook.

3 голосов
/ 27 января 2009

Это уже спрашивалось конкретно о Thunderbird:

В верхнем ответе содержится код для изменения заголовков в формате простого xul / js.

2 голосов
/ 27 января 2009

Я выкопал это из старых частей мелодий Мозга к другим вещам ...

Я думаю, что такой подход заключается в том, чтобы перейти к настройке SENDMAIL и сделать это с помощью скриптов [bash / etc] , если я правильно понимаю .

Корневой файл http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ewtoc.html

Конфигурация SendMail

Объявления заголовков http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/061-064.html#Heading22

http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/078-080.html

Формат строк заголовка определяется линией H. Синтаксис эта строка

H [c? C mflagsc?] C hnamec: c htemplate

Продолжение строки в этом спецификации вставляются напрямую в исходящее сообщение. htemplate расширяется до макро вставляется в сообщение. Если расширение пусто, строка заголовка не включено. Если флаги (в окружении вопросительных знаков) указан, по крайней мере, один из указанные флаги должны быть указаны в определение почтовой программы для этого заголовка быть автоматически выведен. Если один из эти заголовки во входе, это направлены на вывод независимо от эти флаги.

Специальные строки заголовка Несколько заголовков строки имеют специальные интерпретации определяется файлом конфигурации. Другие имеют встроенные интерпретации sendmail, который нельзя изменить без изменения кода. встроенные функции описаны в следующий список:

• Return-Receipt-To: если этот заголовок отправлено, сообщение будет отправлено любому указанные имена, когда финал Доставка завершена. Почтовик должен установить флаг l (местная доставка) в дескрипторе почтовой программы. • Errors-To: если ошибки происходят где-либо во время обработки этот заголовок отправляет сообщения об ошибках для перечисленных имен а не отправителю. Использовать этот строка заголовка для списков рассылки, так что ошибки возвращаются в список администратор. • Кому: если сообщение приходит без получателей, перечисленных в сообщение (в To :, CC: или BCC: строка) sendmail добавляет видимо для: строка заголовка для каждого получателя указано в команде sendmail линия.

1 голос
/ 30 января 2009

Один из способов заставить его работать в Pine без изменения самого Pine или почтового сервера - это сделать так, чтобы Pine доставлялся через программу командной строки (традиционно / usr / sbin / sendmail или тому подобное), и вызываемая программа была бы оболочкой. для оригинальной программы. Затем вы можете добавить любой заголовок, который вам нужен.

Это уродливо, хотя, конечно, это не будет масштабироваться для всей пользовательской базы.

1 голос
/ 30 января 2009

Что-то не так с общей идеей подключить почтовые клиенты для пользовательских заголовков.

Есть только для многих клиентов там. Включая разные версии, на разных системах.

Хорошая особенность формата заголовка + тела в том, что все данные, не относящиеся к пользователю, серверу и маршрутизации, скрыты от пользователя. И этой идее важно следовать. Я не думаю, что пользователь должен беспокоиться о некоторых пользовательских заголовках, связанных с сервером.

Кроме того, данные, которые вы пытаетесь добавить, фактически являются данными, специфичными для пользователя. Нравится подпись. Проверяет действительность отправителя. Нет причин скрывать это от пользователя.

Подписание данных электронной почты - это хорошо известный процесс, используемый PGP, SMIME и т. Д. Вероятно, существует больше почтовых клиентов, которые разрешают такие действия (проверяют и подписывают с помощью внешних программ), чем позволяют добавлять или изменять пользовательские заголовки почты.

Пользовательские заголовки должны быть изменены почтовыми серверами; пользовательские данные по почтовым клиентам.

Я думаю, что вы должны поместить свои данные в сообщение или часть сообщения.

1 голос
/ 29 января 2009

Одна вещь, на которую вы могли бы обратить внимание, это использовать псевдозаголовки вместо заголовков. Beasue Pine / Alpine позволяет вам указать программу фильтрации для прохождения электронной почты, вы можете добавить заголовок к телу в начале, который должен быть достаточно простым для обработки. Я не уверен, что это точно соответствует вашим целям, так как я не знаю, какую систему вы собираете.

Я узнал о псевдозаголовках через их использование в Debian BTS System .

Отвечая на вопрос, я использую GMail, и вы не можете редактировать заголовки программно (мне было бы интересно увидеть веб-почту, которая позволяет вам). Вы не можете даже фильтровать пользовательские заголовки, такие как X-List, это довольно раздражает.

...