我创建了一个自定义工作流程,该工作流程在工作流程启动时创建一个任务项。替代文本http://img19.imageshack.us/img19/2862/screenshot310200942100p.png

我还为文档库和任务列表创建了一些自定义内容类型。

对于文档库:首先,我添加一个文档库并将其配置为允许自定义内容类型。然后我添加基于文档内容类型的内容类型。之后,我在工作流程设置下添加工作流程。在这里,我选择自定义工作流程,为其命名并告诉 sharepoint 创建一个新任务列表来存储任务。

对于任务列表:现在,我已经有了SharePoint创建的任务列表,我去那里允许自定义内容类型,并确保“分配所有权时发送电子邮件?”设置为是。然后,我添加两个自定义内容类型,它们都基于工作流任务内容类型。这就是我应该做的。

当我启动工作流程时,它确实添加了审批任务(我正在使用名为 createApprovalTask​​ 的 CreateTaskWithContentType 活动),但不会为创建的任务发送任何电子邮件。

我在 createApprovalTask​​ 活动中使用的代码是:

// make a new GUID for this task
createApprovalTask_TaskId = Guid.NewGuid();
// set simple properties of task
createApprovalTask.TaskProperties.AssignedTo = "a valid domain\user";
createApprovalTask.TaskProperties.Title = "Review Contract: " + approvalWorkflowActivated_WorkflowProperties.Item.DisplayName;
createApprovalTask.TaskProperties.SendEmailNotification = true;

如果我创建一个文档库并使用 Sharepoint 的内置工作流程之一(例如审批),并告诉它为其创建一个任务列表,那么当将项目添加到该列表时,它会正确发送电子邮件。因此,发送邮件服务器的设置是正确的,因为我们可以正常接收其他电子邮件。

我在 createApprovalTask​​ 活动之后立即使用 SendEmail 活动向提交者发送一封电子邮件,告诉他们我们已收到他们的批准请求。其代码类似于:

sendApprovalRecievedEmail.Body = emailBody;
sendApprovalRecievedEmail.Subject = emailSubject;
sendApprovalRecievedEmail.To = emailTo;
sendApprovalRecievedEmail.From = emailFrom;

这是可行的,因此提交者会收到他们的自定义电子邮件,但任务所有者永远不会收到任务项电子邮件。

有帮助吗?

解决方案

不幸的是,我们的邮件服务器由于某种原因阻止了电子邮件。我浪费了 2 1/2 天的时间来寻找这个问题......结果证明我们的 IT 部门没有把他们的狗屎放在一起。

感谢大家。

其他提示

您必须正确进行 Sharepoint 外发电子邮件设置。示例如下链接所示

http://sharepoint-amila.blogspot.com/2008/02/outgoin-email-settings.html

如果您需要通过 c#.net 代码发送电子邮件,您可以使用以下方法在自定义工作流程中发送电子邮件。SPUtility.SendEmail 方法 (Microsoft.SharePoint.Utilities)

示例如下链接所示http://www.sharepoint-amila.blogspot.com/

是否可以像使用 createApprovalTask​​.TaskProperties.AssignedTo 那样通过“域\用户”指出 SharePoint 用户?不需要身份证吗?

“id;#域名\用户名”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top