在编写自己的EmailReceived事件接收器时,您将失去默认功能。
您需要做的是自己实现这个默认功能。让我给你一个简单的例子。以下示例将所有邮件附件保存到列表中(如果它们是*.csv文件)。您可以对 emailMessage 执行相同的操作并将其保存到列表中。如您所见,将文件添加Files.Add到文档库就像添加文件一样简单。
public override void EmailReceived(SPList list, SPEmailMessage emailMessage, string receiverData)
{
SPFolder folder = list.RootFolder;
//save attachments to list
foreach (SPEmailAttachment attachment in emailMessage.Attachments)
{
if (attachment.FileName.EndsWith(".csv"))
{
var attachmentFileName = attachment.FileName;
folder.Files.Add(folder.Url + "/" + attachmentFileName, attachment.ContentStream, true);
}
}
list.Update();
}