2012-02-13 80 views
1

我正在为sharepoint 2010创建一个电子邮件事件接收器,用于接收电子邮件的文档库,然后我希望能够将发送到该列表的那些电子邮件复制到另一个。现在我该怎么做,使用电子邮件事件接收器而不是itemAdded事件接收器?我可以使用什么对象方法来获取复制方法到另一个列表等?Sharepoint 2010电子邮件事件接收器

+0

SPEmailEventReceiver(如果不是在沙箱)或与ItemAdded你只检查“到”属性的值。 – 2012-02-13 13:07:48

+0

是的,我使用SPEmailReceiver和EmailReceived方法,但如何将项目复制到另一个列表,因为它们没有复制到SPEmailRecieved – user1063793 2012-02-13 13:18:07

回答

2

SPEmailEventReceiverEMailReceived方法。

当你把MSDN example code

public class Email_Handler: SPEmailEventReceiver 
{ 
    public override void EmailReceived(
     SPList oList, 
     SPEmailMessage oMessage, 
     string strReceiverData) 
    { 
     SPListItem oListItem = oList.Items.Add(); 
     oListItem["Title"] = oMessage.Headers["Subject"]; 
     oListItem["Body"] = oMessage.HtmlBody; 
     oListItem.Update(); 
    } 
} 

你看到他们通过oList.Items.Add()添加到列表中的列表项这是你可以做什么。您也可以将该项目添加到任何其他列表。

一旦您拥有了列表项,您可以使用SPListItem.CopyTo方法将其复制到任何其他列表中。

一个很好的例子为电子邮件事件接收器:http://pholpar.wordpress.com/2010/01/13/creating-a-simple-email-receiver-for-a-document-library/

+0

内的方法如何将电子邮件项目传递到items.add()方法,然后我可以复制到另一个列表,因为它需要一个字符串url和对象类型。 – user1063793 2012-02-13 14:16:16

+0

请参阅电子邮件事件接收器的示例:使用'.GetMessageStream()'获取完整的消息。没有其他“电子邮件项目”。 – 2012-02-13 16:16:15