Назад | Перейти на главную страницу

Как я могу автоматически внедрить подпись электронной почты на стороне сервера с помощью qmail или другого MTA?

У нас есть отличная корпоративная подпись электронной почты (НЕ огромный документ об отказе от ответственности, а просто последовательная четырехстрочная подпись электронной почты), которую мы настроили для использования в наших почтовых клиентах. Он маленький, со вкусом и очень хорошо подходит для обычных текстовых писем.

В нашей настройке есть три проблемы.

  1. Можно случайно изменить подпись, и никто здесь на самом деле не хочет этого делать. Нам нравится последовательность. :)
  2. Каждую машину необходимо перенастроить, если требуются какие-либо изменения, например, добавление новой социальной сети.
  3. Мобильная электронная почта: Это настоящая проблема. iOS Mail дает одну подпись электронной почты для ВСЕХ почтовых ящиков. Это означает, что нельзя отвечать из ящиков «поддержка» или «продажи», не сообщив, что вы находитесь вне офиса, и при этом отказаться от бренда вашей компании. Или это означает, что все личные электронные письма требуют редактирования, чтобы название компании не передавалось всем друзьям и родственникам.

Я хотел бы использовать сценарий оболочки для сопоставления с образцом в теле письма, ища токен электронной почты, например {{{auto-signature-from-fullname}}} и замените его фактическим содержимым подписи. На стороне сервера сценарий будет рассматривать электронное письмо «От» (поддержка? Продажи? Веб-мастер?) И раздел MIME (HTML? Простой?), Чтобы определить, какую подпись электронной почты вводить. На стороне клиента приложение электронной почты по-прежнему будет определять, где находится подпись, поэтому, AFAIK, мы не рискуем повредить вложения электронной почты с помощью этого подхода. Кроме того, почтовые клиенты с поддержкой единой подписи (iPhone, iPad) получат преимущество правильной подписи, поскольку токен подписи согласован для каждого сотрудника.

Мы используем qmail v1.06 с патчами, хотя мы не против использования другого Linux MTA или дополнительного ретранслятора SMTP, если это необходимо. Скрипт-оболочка, соединяющий stdin / stdout, - это действительно то, что нам нужно для исправления исходного кода.

Примечание: Я видел вопросы, похожие на этот, о сбое сервера, которые только получают "не делай этого"ответы. Я отправляю свой вопрос, потому что моя потребность / идея немного отличается от простого автоматического нижнего колонтитула электронного письма. Любая предлагаемая помощь очень ценится. Спасибо!

Хорошо "не делай этого" правильный ответ. Использование MTA для изменения содержимого электронной почты создает столько проблем, что оно того не стоит.

Но если вы действительно хотите причинить себе боль, я полагаю, что использование патча qmailqueue сработает. Это позволяет qmail-smtpd вызывать программу, отличную от qmail-inject, при получении сообщения. Обычно он используется для сканирования электронной почты с помощью какого-либо антивирусного / антиспамового программного обеспечения, но ничто не говорит о том, что он не может делать ничего другого, что вам может понадобиться.

Создайте сценарий, который может быть вставлен через QMAILQUEUE, который разложит структуру MIME сообщений электронной почты и выполнит соответствующую замену, а затем воссоздает сообщение. Perl и Mail :: MIME, вероятно, будут вашими друзьями.

Удачи ;-)