Получатели - PullRequest
       19

Получатели

0 голосов
/ 03 мая 2018

Моя цель - добавить / удалить получателей к существующему MailItem mailItem.

Я добавляю новый адрес электронной почты ("some.one@corp.com"):

mailItem.To += "some.one@corp.com"; 

Затем я разрешаю получателей, чтобы они выглядели лучше для пользователя (например, отображение статуса Skype для внутренних контактов).

mailItem.Recipients.ResolveAll();  

Это работает для половины из них. Для некоторых, если я посмотрю на mailItem.To, строка электронного письма будет изменена на имя контакта («Some One»), а контакт отсутствует в mailItem.Recipients. НО они отображаются как разрешенные (например, они имеют статус Skype или имеют (контакт) для внешних).
Так что это как-то наполовину решено для половины получателей. Я не смог найти никакой логики, некоторые внутренние контакты работают, другие нет, то же самое для внешних получателей ...

Google мало чем поможет. На данный момент я деактивирую ResolveAll, чтобы мой инструмент продолжал работать, но указатели приветствуются!

Для контекста:
Чтобы добавить / удалить получателей,

  • Я обрабатываю электронные письма, добавленные непосредственно к mailItem.To, проверяя с помощью простого mailItem.To.Contains(newEmailAdress), чтобы избежать дублирования, и удаляя с помощью mailItem.Replace(newEmailAdress, ""). Работает отлично.

  • Затем я хочу обработать контакты, которые уже были разрешены или введены непосредственно как Получатели. Я перебираю mailItem.Recipients, конвертирую адрес электронной почты, используя PropertyAcessor, и тогда речь идет только о сравнении с newMailAdress. Вот как я заметил, некоторые из них были разрешены наполовину.

1 Ответ

0 голосов
/ 03 мая 2018

Свойство To / CC / BCC может содержать или не содержать адреса электронной почты - вы должны предполагать, что они содержат только имена.

Кроме того, несколько имен должны быть разделены ";":

mailItem.To += ";some.one@corp.com"; 

При этом используйте коллекцию MailItem.Recipients и особенно метод Recipients.Add. Вы можете перебрать все элементы в этой коллекции, и для каждого получателя проверьте свойства Recipient. Name и Recipient.Ad dress.

...