Реализация пути возврата конверта переменной (VERP) с использованием Exchange

10

Мы ищем реализацию Variable Envelope Return Path (VERP) для улучшения обработки отказов для нашего приложения.

Наша текущая почтовая инфраструктура MS Exchange 2007, но в настоящее время выполняется обновление до 2010 года. Мы также внедряем Postini для фильтрации спама.

Exchange не поддерживает субадресацию (см. Также этот вопрос по одноразовым адресам ) - и VERP является своего рода специализированным приложением субадресации.

Существуют ли какие-либо варианты реализации VERP в Exchange без установки другого не SMTP-ретранслятора Exchange перед Exchange для предварительной обработки входящих сообщений? В частности, можно ли создать транспортное правило, которое может соответствовать целевому (несуществующему) получателю, сохранить адрес получателя в специальном заголовке, добавленном к сообщению, и перенаправить сообщение в предварительно созданный почтовый ящик?

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

iammichael
источник
1
ознакомьтесь с правилами о вознаграждении на serverfault.com/faq, и я рекомендую продолжить, как рекомендовано здесь: meta.stackexchange.com/questions/7046/…
Джефф Этвуд

Ответы:

1

Разумеется, из коробки нет поддержки VERP в Exchange 2007/2010. Как Вам известно. Я не верю, что вы сможете создать правило транспорта, даже с PowerShell, чтобы делать то, что вы хотите. Я полагаю, что самое близкое, что вы получите, это создание собственного транспортного агента. Вы можете найти Exchange SDK по адресу msdn.microsoft.com. Если ваша цель состоит в том, чтобы определить, для кого сообщение отскочило, вам, возможно, будет лучше проанализировать протоколы протокола. Протоколирование протокола должно быть включено и имеет отдельные журналы отправки / получения. Удачи Пол

PaulWLucido
источник
Это ссылка на SDK транспортных агентов msdn.microsoft.com/en-us/library/aa579074(v=EXCHG.140).aspx .
SLY
1

Обмен это отстой. Почтовое программное обеспечение Linux бесплатное. Установите его на ящик, настройте поддомен для всей почты вашего приложения, которую вы отправляете. (Как и myapp.mycompany.tld, поэтому вся ваша почта приходит с someuser@myapp.mycompany.tld)

Было бы довольно легко написать (или заставить кого-то написать) быстрое и грязное приложение, которое получало бы и обрабатывало рикошетные сообщения и уведомляло ваше приложение, используя что-то вроде SOAP.

Если вы работаете в среде только с Windows, вам неинтересно запускать одноразовый сервер Linux, но я не знаю, как это сделать с Exchange.

Другим вариантом может быть вставка уникальной строки символов в заголовок, тему или текст каждого сообщения. Используйте X-MyApp-Id: бла. Конечно, это может отключить больше спам-фильтров ...

Аарон С. де Брюн
источник
0

Мы делаем это, анализируя журналы отслеживания сообщений и имея правило, которое удаляет рикошетные сообщения перед их отправкой. Это работает, если ваше отправляющее приложение может создать путь возврата VERP. Это не SMTP-часть обмена, которая не может выполнить VERP, это часть почтового ящика, которая не может обрабатывать подстановочные знаки для размещения отказов сообщений в почтовом ящике. Если вы используете журналы, вам не нужно отправлять сообщение об отказе, которое сокращает ваш почтовый трафик. Журналы являются CSV-файлами, поэтому они загружаются в базу данных аккуратно, а затем вы анализируете поле пути возврата для идентификатора вашей записи VERP и используете код причины, чтобы пометить как жесткий или мягкий отскок. Проблема в том, что это прекрасно работает, если ваше приложение использует SMTP для подключения к серверу exchaange. По какой-то причине если вы используете обмен каталогами раскладки, то ваш путь возврата verp заменяется адресом from, и вы теряете возможность сделать это. Все еще пытаюсь понять это.

отметка
источник