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

Как я могу доставить почту для адресов с подстановочными знаками определенному пользователю / псевдониму / программе?

Мне нужно настроить sendmail так, чтобы почта, доставленная для адресов с подстановочными знаками, принималась для доставки, а затем доставлялась пользователю, псевдониму или непосредственно в сценарий.

Я могу переписать конверт / заголовки любым количеством способов, но я не знаю, как принять адрес с подстановочным знаком, если он указан в RCPT TO: все, что я пробовал до сих пор, заканчивается ошибкой 550 user unknown.

Вот конкретный пример:

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

Вот какой мне нужен SMTP-сеанс:

220 blah.foo.com ESMTP server ready; Thu, 22 Apr 2010 20:41:08 -0700 (PDT)
HELO blort.foo.com
250 blah.foo.com Hello blort.foo.com [10.1.2.3], pleased to meet you
MAIL FROM: <joe@foo.com>
250 2.1.0 <joe@foo.com>... Sender ok
RCPT TO: <12.arbitrary@foo.com>
250 2.1.5 <12.arbitrary@foo.com>... Recipient ok

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

Я делал такие вещи, используя файл virtusertable. Не уверен, что это именно то, что вам нужно, но, например, если вы хотите принимать трафик для всего домена и перенаправлять его на один адрес в другом домене, вы должны поместить что-то подобное в файл virtusertable:

@ somedomain.com someuser@someotherdomain.com

Принимать трафик с любого адреса в каком-то домене и перенаправлять его на тот же адрес в другом домене:

@ somedomain.com %1%3@someotherdomain.com

Чтобы выполнить остальную часть упомянутого вами сопоставления с образцом, вам нужно будет либо использовать карту регулярных выражений, либо (я предпочитаю) обработать ее чем-то вроде procmail после факта.

виртуальные домены описаны в разделе 4.8.51 книги O'Reilly 'sendmail' («книга летучих мышей»).

Надеюсь, это поможет.

Вы должны добавить строку в свой / etc / mail / virtusertable следующим образом:

@ yourdomain.com account_catch_all

Затем makemap таблица виртуальных пользователей, и вся почта в этот конкретный домен будет перенаправлена ​​указанному пользователю. Затем вы можете реализовать procmail, чтобы фильтровать это в соответствии с тем, что вам нужно, или написать свои собственные сценарии для анализа файлов ...