环境:sharepoint2010 ,已配置传入电子邮件(smtp exchange 设置匿名),并且设置文档库接收邮件。
工作流:此库中有新项目建立时,工作流启动并发出邮件到指定账户(传出邮件已经设置完成,测试正常)
问题:此库中手动添加一文档,工作流触发并启动,成功发出邮件。
以邮件方式向文档库中添加一新文档时,工作流未触发不启动。
排查:手动添加文档发现“创建者”和工作流的“发起者”都为当前账户 haha\aaa
邮件方式添加文档发现 “创建者“是haha\aaa”,但是工作流的发起者却变成了“系统账户”,而系统账户应该是无法启动工作流的。
请教各位大侠,这个系统账户应该怎么破? 为啥文档库接收到邮件时”创建者“是haha\aaa,

想过用事件处理器触发工作流启动,绕过系统账户,但是无奈代码一点都不懂

------解决方案--------------------
用代码发送邮件:
public static bool SendMail(string to, string cc, string subject, string messageBody)
{
bool result = false;
SPWeb web = SPContext.Current.Web;
string currentUser = web.CurrentUser.Name;
int currentUserId = web.CurrentUser.ID;
string siteUrl = web.Site.Url;
string webUrl = web.ServerRelativeUrl;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteUrl))
{
SPWeb currentWeb = site.OpenWeb(webUrl);
StringDictionary messageHeaders = new StringDictionary();
messageHeaders.Add("content-type", "text/html");
messageHeaders.Add("to", to);
messageHeaders.Add("cc", cc);
messageHeaders.Add("subject", "" + subject);
result = SPUtility.SendEmail(currentWeb, messageHeaders, messageBody);
}
});
return result;
}
怎么新建event receiver,请参考:
http://msdn.microsoft.com/en-us/library/gg252010
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/sharepoint/zh-CN/2426d3d9-9813-4305-828c-fdd23eee0e29/incoming-email-in-mail-enabled-document-library-wont-start-workflow-automatically?forum=sharepointcustomizationlegacy
看看是说的这回事儿不?