#c# #sharepoint #sharepoint-2010
#c# #sharepoint #sharepoint-2010
Вопрос:
У меня есть библиотека документов с поддержкой электронной почты, которая получает электронные письма с прикрепленными документами. Я хочу группировать и фильтровать эти электронные письма и вложения, используя доменное имя, с которого они пришли. Это означает, что мне нужно удалить доменное имя из адреса электронной почты отправителя, т.Е. paul.shadwell@techvee.com возвращает techvee.com.
Я также хотел бы проанализировать информацию из подписи электронного письма, чтобы создать запись контакта в отдельном списке контактов.
Я был бы очень благодарен за некоторую помощь и указания по этому поводу.
С наилучшими пожеланиями
Пол Джей Шедуэлл
Ответ №1:
Вы можете реализовать свой собственный SPEmailEventReceiver.
public class MailEvents : SPEmailEventReceiver
Переопределить событие EmailReceived
public override void EmailReceived(SPList list, Microsoft.SharePoint.Utilities.SPEmailMessage emailMessage, string receiverData)
Что бы я хотел сделать, так это написать логику для обработки ваших писем в этом обработчике событий и позволить ему перемещать почту в другую библиотеку документов. Итак, в принципе, у вас будет библиотека входящей электронной почты, которая будет получать все электронные письма. Подключив к нему обработчик событий, вы можете выполнить свою бизнес-логику, скопировав / переместив почту в другую библиотеку документов по вашему выбору.
Не забудьте прикрепить к owstimer.exe для отладки этого класса!
Maarten
Комментарии:
1. Спасибо Мартен, это код, который у меня есть на данный момент, но, похоже, ничего не происходит. Я подключил службу owstimer.
2. пространство имен анализирует электронные письма. EventReceiver1 { открытый класс EventReceiver1: SPEmailEventReceiver { публичное переопределение аннулирует полученное электронное письмо (разделяющий oList, SPEmailMessage oMessage, String strReceiverData) { string myText = «- Привет, здесь был Пол»; разделяющий oListItem = oList. Items.Add(); oListItem[«Title»] = строка. Объединение (исключение сообщения. Заголовки [«Тема»], myText); oListItem [«Тело»] = Пропущенное сообщение. HTMLBody; oListItem[«Domain»] = Отсутствующее сообщение. EnvelopeSender; оЛистИтем. Update(); } } }
3. Вы прикрепили обработчик событий к списку? Синтаксический анализ сообщений электронной почты. EventReceiver1?