Транспортный агент Exchange - создание MailItem

Я писал Exchange Transport Agent, и мне кажется, что я все понял с точки зрения его разработки. Но теперь пришло время для тестирования, и я столкнулся с проблемой.

Я слушаю событие OnEndOfData, чтобы посмотреть всю электронную почту. Письмо поступает в виде объекта EndOfDataEventArgs, который содержит объект MailItem. Именно этот объект MailItem содержит электронную почту и вызывает проблему. Я хочу создать объект MailItem, чтобы я мог проверить, что все работает, как ожидалось, когда получено электронное письмо. Но пока я не смог этого сделать.

Обратите внимание, что это объект Microsoft.Exchange.Data.Transport.MailItem, а не Microsoft.Office.Interop.Outlook.MailItem. Таким образом, использование Application.CreateItem() не будет работать.

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

Есть ли какой-то фабричный метод, который я пропускаю? Есть ли какой-то встроенный класс, который расширяет MailItem, который я пропустил? Или просто не существует способа создания MailItem извне DLL агента транспорта Exchange?

1 ответ

В большинстве сценариев используется только MailItem.Message, и не нужны никакие другие свойства MailItemсам. посколькуEmailMessage можно легко создать, может быть, вы сможете использовать только это для тестирования.

Ваш настоящий обработчик событий может просто вызвать метод, определяющий MailItem.Message, и для тестирования вы можете вызвать этот же метод с созданным вами тестовым сообщением.

Не уверен, что вы хотите создать объект mailiitem для тестирования. Пожалуйста, укажите цель разработки агента, чтобы мы могли помочь вам лучше. Объект mailitem представляет собой отправленное электронное письмо, и вы сможете получить большинство его деталей. от объекта mailitem в зависимости от события, на которое вы нацелены на отладку агента.

Другие вопросы по тегам