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

Самый легкий MTA для пересылки всей почты в скрипт

Мне нужно переслать *@domain.com скрипту.

Я знаю EXIM способ и PROCMAIL способ.

Есть более легкий способ? Есть опыт? Какой из них самый быстрый, если я ПРОСТО ХОЧУ для доставки писем скрипту? (без поп-аккаунтов, ничего другого)

(Я знал qmail, но не хочу устанавливать "большое" программное обеспечение, которое потребляет слишком много ресурсов на сервере).

То, что вы спрашиваете, на самом деле касается MTA (агентов пересылки почты), а не MDA (агентов доставки почты). Ваш вопрос включает комментарии по обоим (Procmail - это MDA, exim - это MTA).

В вашем случае вы собираетесь избавиться от любого MDA, просто «доставив» вашему скрипту. В exim псевдоним вроде username: |/path/to/script достаточно, чтобы выполнить эту часть без сложной внутренней маршрутизации или MDA.

Что касается MTA, Exim на самом деле довольно легкий. Он не предоставляет поп-аккаунты или что-то еще, он просто обрабатывает чат с другими почтовыми серверами для приема сообщений, а затем передает их кому-то (обычно MDA или другим почтовым серверам).

Не усложняйте себе жизнь в будущем, пытаясь выполнить нестандартную настройку, использовать обычные средства защиты от короткого замыкания, такие как проверка того, что MTA запускает входящую почту и т. Д. Просто соедините нужные части вместе. Использование псевдонима конвейера в exim, как указано выше, - чрезвычайно простой способ направлять почту в сценарий и при этом вести себя должным образом как MTA.

Вы действительно хотите, чтобы сценарий просто запускался, независимо от того, что ему передается? Или вам нужна правильная обработка SMTP?

Самый легкий способ - использовать что-то вроде библиотеки Python Twisted, прослушивающей SMTP или node.js. Сценарий SMTP-сервера, и запускать скрипт для каждого требуемого сообщения. Таким образом, вы получаете полноценную многопоточность без каких-либо дополнительных помех.

Я бы сказал, что Exim и другие подобные ему будут более чем достаточно быстрыми для 99% случаев использования.

Если вы можете сохранить порт 25 на уникальном IP-адресе, как насчет использования netcat слушать на 25 порту? Это действительно нулевая загрузка и установка. Сценарий оболочки для его перезапуска после перезагрузки / сбоя тоже должен быть простым.

Если вы просто хотите получать электронные письма, вы можете использовать «сервер», например http://code.google.com/p/subethasmtp/ .

У вас может быть 1-файловая java-программа, использующая эту библиотеку, которая будет принимать все электронные письма и выполнять для нее некоторый код. Проблема в том, что вам понадобится Java на машине.