2011-10-06 1 views
1

사용자 지정 워크 플로에서 SPUtility.SendEmail 메서드를 사용할 때 약간의 문제가 있습니다.사용자 지정 워크 플로 공유 지점 2010에서 전자 메일을 보낼 수 없습니다.

private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e) 
    { 
     if (SPUtility.IsEmailServerSet(workflowProperties.Site.OpenWeb())) 
     { 
      StringDictionary headers = new StringDictionary(); 
      headers.Add("to", "[email protected]"); 
      headers.Add("from", "[email protected]"); 
      headers.Add("content-type", "text/html"); 

      SPSecurity.RunWithElevatedPrivileges(delegate() 
      { 
       bool test = SPUtility.SendEmail(web, headers, "some message body"); 
      }); 
     } 
    } 

위의 코드에서 SPUtility.SendEmail 메서드는 항상 false를 반환합니다.

나는 RunWithElevatedPrivileges를 사용하려고 시도했으나 여전히 false를 반환합니다.

작업이 공유 지점에 할당 될 때 표준 전자 메일 알림이 올바르게 전송되기 때문에 smtp 구성이 문제가되지 않습니다.

이상한 부분은 타이머 작업을 사용하여이 SendEmail 메서드를 시도했지만이 메서드는 완벽하게 작동합니다.

위의 방법에 뭔가를 추가해야 할 사람이 있으면 도와주세요.

감사합니다.

+2

[SendEmail] (http://msdn.microsoft.com/en-us/library/ms466369.aspx) 작업을 사용해 보셨습니까? –

답변

0

이 문제의 근본을 찾을 수 없습니다. 2 워크 플로 만들기를 결정했습니다. 첫 번째는 초기화 매개 변수 (셰어 포인트 디자이너를 사용하여 빌드)를 사용하여 전자 메일을 보내는 것입니다. 두 번째는 첫 번째 워크 플로를 시작하는 워크 플로입니다.

이제 시작되었습니다.

0

상승 된 권한 범위에서 웹 참조를 가져 오십시오.

관련 문제