Я делаю плагин Outlook в C #, который собирает некоторую информацию о работоспособности системы и регистрирует ее и отправляет на несколько адресов электронной почты наших администраторов и инструментов автоматического анализа.
В основном это работает хорошо, но если какой-то адрес становится недостижимым по какой-либо причине, пользователи раздражаются из-за ReportItems
(отчеты о недоставке), заполняющих их экземпляры Outlook.Я могу придумать несколько способов справиться с этой ситуацией, но я не знаю, как реализовать любой из них.Не могли бы вы помочь мне?
Возможные решения:
Проверьте, доступен ли адрес, перед отправкой электронной почты.Но мне нужно сделать это с помощью функций Outlook, поскольку некоторые адреса могут быть доступны только нашему Exchange-серверу и недоступны для клиентов.Как вы думаете?
Добавьте некоторое свойство в созданный MailItems
, чтобы Exchange Server не отправлял ReportItems
, если MailItem
не был доставлен.Но кажется, что MailItem
объект не имеет таких свойств, может быть, есть MAPI, который я мог бы установить с помощью PropertyAccessor или что-то еще.Как вы думаете?
Перехватывайте ReportItems
, когда они подключаются к моему плагину Outlook, и удаляйте их до того, как это раздражает пользователей.Но я пробовал Application.NewMailEx
событие, и оно вообще не вызывается на ReportItems
.Я пробовал InboxFolder.ItemAdd
событие, и оно вызывается только для 40-50% от ReportItems
.Я не очень понимаю причину этого, может быть, я здесь что-то не так делаю.Как вы думаете?
PS: Я понимаю, что вся архитектура этой штуки немного некрасива, но команда менеджеров настаивает, что так и должно быть, поэтому я 'Я хотел бы попросить вас ответить на вопрос как есть.Спасибо!