Sharepoint任务列表不会在项目创建时发送电子邮件

时间:2009-03-10 20:40:28

标签: sharepoint email task

我创建了一个自定义工作流程,可在工作流程启动时创建任务项目。 alt text 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的内置工作流程之一(例如Approval),并告诉它为其创建任务列表,那么当项目添加到该列表时,它会正确地发送电子邮件。因此,外发邮件服务器的设置是正确的,因为我们接收其他电子邮件就好了。

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

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

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

3 个答案:

答案 0 :(得分:4)

不幸的是,我们的邮件服务器因某些原因阻止了电子邮件。我浪费了两个半天的时间来寻找这个问题...而事实证明我们的IT部门并没有将它们放在一起。

谢谢大家。

答案 1 :(得分:2)

您必须正确设置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/

答案 2 :(得分:0)

是否可以通过“domain \ user”指出SharePoint用户,就像使用createApprovalTask​​.TaskProperties.AssignedTo一样?是不是需要身份证?

“ID; #domain \用户名”