На моем сервере есть несколько адресов электронной почты, как для отдельных лиц, так и для списков. Я не предоставляю SMTP или POP для этих пользователей ... Я просто пересылаю электронную почту каждого пользователя на их «настоящий» адрес электронной почты (или на список адресов), используя файл «псевдонимов» почтового сервера.
В настоящее время я использую Gmail в качестве спам-фильтра следующим образом: почта всех пользователей изначально пересылается в одну учетную запись Gmail. Используя функцию фильтра Gmail, я пересылаю его обратно на свой сервер, но на измененный адрес электронной почты. Наконец пересылаю на настоящий адрес. Это работает, потому что Gmail применяет фильтр спама перед он применяет функцию фильтра.
Итак, для пользователей «joe» и «bob» мой файл псевдонимов (на mysite.com) будет иметь:
joe: myDummyEmail@gmail.com
joe-nospam: real.joe@aol.com
bob: myDummyEmail@gmail.com
bob-nospam: real.bob@yahoo.com
В myDummyEmail@gmail.com я настроил фильтры:
To=joe@mysite.com forwards to joe-nospam@mysite.com
To=bob@mysite.com forwards to bob-nospam@mysite.com
Это в основном работает, за исключением того, что создавать новых пользователей сложно. Кроме того, мне интересно, могу ли я улучшить качество фильтрации спама, используя официально разрешенный метод указания MX-записи mysite.com на gmail.com. Как я мог дублировать свои функции, используя таким образом запись MX? Есть другие идеи?
Я бы предпочел не устанавливать решение для защиты от спама на моем собственном сервере, потому что, по моему опыту, ни одно из них не может сравниться с gmail.
РЕДАКТИРОВАТЬ:
Одна из сложностей с решением MX / Google Apps заключается в том, что для некоторых адресов электронной почты я использую функцию «конвейера» в файле псевдонимов для передачи сообщения через мой собственный сценарий. Так что мне все равно нужен способ пересылки некоторых сообщений обратно на мой сервер. И как только я направил запись MX для myserver.com в Google, как можно отправлять сообщения обратно на мой сервер?
Без обид, но это довольно запутано.
Просто избавьтесь от всех сложностей и переместите свой домен (-а) на Google Apps. Это бесплатно (до 50 пользователей на домен). Вы получите разумные инструменты управления, отличный веб-интерфейс, POP3 / IMAP, если ваши пользователи этого хотят, мобильные push-уведомления и т. Д.
Что касается вашего редактирования: я делаю это часто, используя fetchmail
(запускается через cron), чтобы получать сообщения через IMAP, а затем передавать их через настраиваемый синтаксический анализатор.
Учетная запись gmail / gapps может пересылать всю полученную почту (после фильтрации спама) на другой адрес (желательно пересылать и удалять, если вы не собираетесь его проверять). У учетной записи также может быть по крайней мере достаточное количество псевдонимов. Когда сообщение отправляется на псевдоним, gmail помечает заголовок «X-Remote-Delivered-To:», содержащий этот псевдоним, перед его доставкой в учетную запись (-а). С этой комбинацией вы сможете иметь свой сервер в суб / другом домене, использовать только одну из 50 учетных записей со многими псевдонимами, указывающими на нее, и использовать procmail для доставки / передачи скрипту по мере необходимости. Вдобавок все это будет проталкиваться, без необходимости опроса какой-либо учетной записи Gmail.
Я бы использовал решение Google Apps, как упомянуто выше, но вместо fetchmail
Я бы порекомендовал взглянуть на offlineimap
. Он имеет некоторые расширенные возможности, такие как прямая синхронизация между двумя серверами IMAP, выполнение обработчиков до и после и т. Д. Вы также можете найти это полезным при переносе старой электронной почты.