SharePoint 2010 ワークフローがグループに電子メールを送信するときの "アクセス拒否" エラー

現象

SharePoint 2010 ワークフローは、複数の有効なユーザーを含む SharePoint グループに電子メールを送信すると、完了に失敗し、"アクセス拒否" エラーが表示されます。

原因

このエラーは、ワークフローが電子メールを送信しようとしている SharePoint グループの所有者が次のいずれかのシナリオに該当する場合に発生する可能性があります。

  • グループの所有者が無効なアカウントを持っているか、SharePoint サイトにアカウントが存在しなくなりました。
  • グループ所有者が完全な制御を持っていないか、SharePoint サイトに対するアクセス許可が制限されています。

解決方法

この問題を解決するには、SharePoint グループの所有者を、サイトに対するフル コントロールまたはフル アクセス許可を持つユーザーに更新します。

詳細

ユニバーサル ログ システム (ULS) には、次のような出力が表示されます。

Exception occurred in scope Microsoft.SharePoint.Utilities.SPUtility.SendEmail. Exception=System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))    
 at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)    
 at Microsoft.SharePoint.Library.SPRequest.GetUsersDataAsSafeArray(String bstrUrl, UInt32 dwUsersScope, UInt32 dwUserCollectionFlags, String bstrValue, UInt32 dwValue, UInt32& pdwColCount, UInt32& pdwRowCount, Object& pvarDataSet)    
 at Microsoft.SharePoint.SPUserCollection.InitUsersCore(Boolean fCustomUsers, String[] strIdentifiers, SPUserCollectionFlags ucf)    
 at Microsoft.SharePoint.SPUserCollection.Undirty()    
 at Microsoft.SharePoint.SPBaseCollection.GetEnumerator()    
 at Microsoft.SharePoint.Utilities.SPUtility.ResolveAddressesForEmail(SPWeb web, IEnumerable`1 addresses, AddressReader func)    
 at Microsoft.SharePoint.Utilities.SPUtility.SendEmail_Client(EmailProperties properties)    
 at Microsoft.SharePoint.ServerStub.Utilities.SPUtilityServerStub.InvokeStaticMethod(String methodName, ClientValueCollection xmlargs, ProxyContext proxyContext, Boolean& isVoid)    
 at Microsoft.SharePoint.Client.ServerStub.InvokeStaticMethodWithMonitoredScope(String methodName, ClientValueCollection args, ProxyContext proxyContext, Boolean& isVoid)

Original error: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))    
 at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)    
 at Microsoft.SharePoint.Library.SPRequest.GetUsersDataAsSafeArray(String bstrUrl, UInt32 dwUsersScope, UInt32 dwUserCollectionFlags, String bstrValue, UInt32 dwValue, UInt32& pdwColCount, UInt32& pdwRowCount, Object& pvarDataSet)    
 at Microsoft.SharePoint.SPUserCollection.InitUsersCore(Boolean fCustomUsers, String[] strIdentifiers, SPUserCollectionFlags ucf)    
 at Microsoft.SharePoint.SPUserCollection.Undirty()    
 at Microsoft.SharePoint.SPBaseCollection.GetEnumerator()    
 at Microsoft.SharePoint.Utilities.SPUtility.ResolveAddressesForEmail(SPWeb web, IEnumerable`1 addresses, AddressReader func)    
 at Microsoft.SharePoint.Utilities.SPUtility.SendEmail_Client(EmailProperties properties)    
 at Microsoft.SharePoint.ServerStub.Utilities.SPUtilityServerStub.InvokeStaticMethod(String methodName, ClientValueCollection xmlargs, ProxyContext proxyContext, Boolean& isVoid)    
 at Microsoft.SharePoint.Client.ServerStub.InvokeStaticMethodWithMonitoredScope(String methodName, ClientValueCollection args, ProxyContext proxyContext, Boolean& isVoid)

さらにヘルプが必要ですか? SharePoint コミュニティにアクセスしてください。