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

Как обрабатывать входящую электронную почту, отправленную на общий адрес (и несколько действительных адресов электронной почты)

Мне нужно создать веб-приложение, в котором люди могут отправлять электронные письма на настраиваемые адреса электронной почты (например, 1week@example.com или 2days@example.com), а адреса электронной почты «1week» и «2days» используются для выполнения определенных действий. в этом письме.

Я смотрел на это Postfix - Как обрабатывать входящие электронные письма?, в частности, ответ - https://serverfault.com/a/247279/94544 и это действительно решение, которое мне подойдет.

Вопросы:

  1. Могу ли я иметь реальные почтовые ящики в вышеупомянутом решении, например service@example.com, который будет реальным адресом электронной почты, размещенным в Google Apps? Как указать, что остальные будут перенаправлены на адрес для приема всей почты домена? Обратите внимание, что адреса электронной почты - 1 день, 1 неделя НЕ определены заранее - это может быть адрес электронной почты - например, 9999 недель.

  2. Может ли сценарий получить доступ к адресу электронной почты «1week», строке темы, дате / времени отправки и тексту?

  3. Является ли Perl лучшим языком для обработки этих писем, если предположить, что мы масштабируемся для обработки сотен и тысяч писем в день (или час)? Ему необходимо будет обработать эти электронные письма и сохранить их в базе данных.

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

Google Apps (для бизнеса) позволяет перенаправлять "неизвестные" (и известные) адреса электронной почты в другое место.

Когда вы находитесь в Gmail, нажмите «Настройки», «Управление этим доменом», затем перейдите в «Google Apps», «Gmail», «Маршрутизация по умолчанию», после чего у вас будет возможность установить несколько правил.

например если вы хотите отправлять все электронные письма, отправленные на person1@example.com, на person1@example.org, вы можете добавить следующие правила: -

  1. Укажите получателей конверта для сопоставления :; Единый получатель; person1@example.com
  2. Маршрут; Получатель конверта; / Сменить получателя конверта; Заменить получателя: person1@example.org

Однако он намного мощнее - вы можете добавлять совпадения с образцом * - например, [0-9] weeks@example.com можно перенаправить на myautomaticprocessor@example.com или myautomaticprocessor@example.org, где он сможет видеть получателя, вы также можете удалить вложения и обойти спам-фильтр, если хотите.

  • Я чушь с регулярными выражениями - вам понадобится тот, который говорит, что разрешить символы 0-9 один или несколько раз, где первая цифра 1-9, за которой следует weeks@example.com

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

  1. Адреса Google Apps нельзя смешивать с локальными почтовыми адресами. Ваш MX указывает либо на G Apps, либо на локальный сервер.
    Возможно, если G Apps разрешает общий адрес / псевдоним, тогда он будет перенаправлен на usermail@subdomain.example.com, а subdomain.example.com будет указывать на ваш постфиксный сервер. (где псевдоним postfix будет пересылать почту скрипту).

  2. да

  3. Perl - хороший язык для обработки этих писем. 100/1000 писем в час / день, очевидно, будут зависеть от того, что делает сценарий. И ресурсы сервера. Но должно быть возможно.