1

Extended MAPI を使用してメッセージを送信しようとしていますが、E_ACCESSDENIED エラーが発生し続けます。cpp dll を呼び出す C# クラスを使用しています。メールの確認やメッセージの削除はできますが、送信できません。以下は、メッセージの作成に使用する C# です。

using (MAPIMessage message = new MAPIMessage())
{
   if (message.Create(this))
   {
      message.SetSender(send.SenderName, send.SenderAddress);
      message.SetSubject(send.Subject);
      message.SetBody(send.Message);
      message.AddRecipient(send.RecipientAddress);
      //  High: Add attachments

      #if DEBUG
      ConfirmMessageCreation(send, message);
      #endif

      Logger.Log("Message created...\nSending message...", Verbose.LogEverything);
      result = message.Send();
   }

       else
          Logger.Log("There was a problem creating the email.", Verbose.LogImportant);
}

メッセージを送信する実際の cpp は次のとおりです。

BOOL MessageSend(CMAPIMessage* pMessage)
{
    return pMessage->Send();
}

...

BOOL CMAPIMessage::Send()
{
    HRESULT result = Message()->SubmitMessage(0);

    if(Message() && result==S_OK) 
    {
        Close();
        return TRUE;
    }
    return FALSE;
}

適切にログインし、メッセージを確認または削除できますが、Send() を呼び出すと E_ACCESSDENIED エラーが発生します。この問題についての洞察をいただければ幸いです。

4

1 に答える 1

2

送信者関連のプロパティを削除する必要があります。

于 2012-12-24T15:15:45.453 に答える