Я пытаюсь отправить сообщение с использованием Extended MAPI, но получаю сообщение об ошибке E_ACCESSDENIED. Я использую класс C #, который вызывает cpp dll. Я могу проверять почту и удалять сообщения, но не отправлять. Ниже 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;
}
Несмотря на то, что я правильно вошел в систему и могу проверить или удалить сообщения, я получаю ошибку E_ACCESSDENIED при вызове Send (). Любое понимание этого вопроса будет с благодарностью.
Свойства, связанные с отправителем, должны быть удалены.
Других решений пока нет …