2011-04-13 46 views
2

我有一個啓用了電子郵件的文檔庫,它接收附帶文檔的電子郵件。 我想使用他們來自的域名將這些電子郵件和附件進行分組和過濾。這意味着我需要從發件人的電子郵件地址中刪除域名,即[email protected]返回techvee.com。如何使用SPEmailEventReceiver解析來自電子郵件的數據

我還想解析電子郵件簽名中的信息以在單獨的聯繫人列表中創建聯繫人記錄。

我將非常感謝您的幫助和指導。

問候

保羅Ĵ沙德韋爾

回答

7

您可以實現自己的SPEmailEventReceiver。

public class MailEvents : SPEmailEventReceiver 

覆蓋的EmailReceived事件

public override void EmailReceived(SPList list, Microsoft.SharePoint.Utilities.SPEmailMessage emailMessage, string receiverData) 

我會做的是寫邏輯對該事件處理程序處理您的郵件,讓它郵件移動到另一個文檔庫。所以基本上你會有一個收到所有電子郵件的傳入電子郵件庫。通過附加的事件處理程序,您可以通過將郵件複製/移動到您選擇的另一個文檔庫來執行業務邏輯。

記得附加到owstimer.exe來調試這個類!

Maarten

+0

謝謝Maarten,這是我目前的代碼,但似乎沒有發生任何事情。我已經附上了owstimer服務。 – 2011-04-15 10:12:01

+0

命名空間ParseEmails.EventReceiver1 { 公共類EventReceiver1:SPEmailEventReceiver { 公共覆蓋無效EmailReceived(SPList oList,SPEmailMessage oMessage,字符串strReceiverData) { 會將myText字符串= 「 - 你好,保羅在這裏」; SPListItem oListItem = oList.Items.Add(); oListItem [「Title」] = string.Concat(oMessage.Headers [「Subject」],myText); oListItem [「Body」] = oMessage.HtmlBody; oListItem [「Domain」] = oMessage.EnvelopeSender; oListItem.Update(); } } } – 2011-04-15 10:39:55

+1

您是否已將事件處理程序附加到列表中? ParseEmails.EventReceiver1? – 2011-04-20 14:04:47

相關問題