ワークフローの開始時にタスク アイテムを作成するカスタム ワークフローを作成しました。 代替テキスト http://img19.imageshack.us/img19/2862/screenshot310200942100p.png
ドキュメント ライブラリとタスク リスト用のカスタム コンテンツ タイプもいくつか作成しました。
ドキュメント ライブラリの場合: まず、ドキュメント ライブラリを追加し、カスタム コンテンツ タイプを許可するように構成します。次に、ドキュメント コンテンツ タイプに基づくコンテンツ タイプを追加します。その後、ワークフロー設定の下にワークフローを追加します。ここでは、カスタム ワークフローを選択し、名前を付けて、タスクを保存するための新しいタスク リストを作成するように sharepoint に指示します。
タスク リストの場合: SharePoint でタスク リストを作成したので、そこに移動してカスタム コンテンツ タイプを許可し、「所有権が割り当てられたら電子メールを送信しますか?」を確認します。はいに設定されています。次に、ワークフロー タスク コンテンツ タイプに基づく 2 つのカスタム コンテンツ タイプを追加します。私がすべきことはそれだけです。
ワークフローを開始すると、承認タスクが追加されます (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 の組み込みワークフロー (承認など) の 1 つを使用して、タスク リストを作成するように指示すると、アイテムがそのリストに追加されると、電子メールが正しく送信されます。送信メール サーバーの設定は正しく、他のメールは正常に受信されています。
createApprovalTask アクティビティの直後に SendEmail アクティビティを使用して、承認リクエストを受け取ったことを知らせる電子メールを提出者に送り返しています。そのためのコードは次のようなものです。
sendApprovalRecievedEmail.Body = emailBody;
sendApprovalRecievedEmail.Subject = emailSubject;
sendApprovalRecievedEmail.To = emailTo;
sendApprovalRecievedEmail.From = emailFrom;
これは機能するため、送信者はカスタム メールを受け取りますが、タスクの所有者はタスク アイテムのメールを受け取りません。