#realJSOP Ответов: 1

Проблема с отправкой электронной почты через outlook


Я пытаюсь отправить электронное письмо через Outlook 2010.

0) я нахожусь в сети Министерства обороны, и Outlook подключен к серверу Exchange.

1) Outlook открыт, и в данный момент я вошел в систему (мы используем карты CAC здесь для доступа, и мы используем Active Directory).

Я получаю следующее исключение COM:

Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))

на линии, указанной ниже:

public void SendEmails(List<VMReportItem> list)
{
    OUTLOOK.Application  app;
    OUTLOOK.NameSpace    ns;
    OUTLOOK.MAPIFolder   inbox;
    OUTLOOK.AddressEntry currentUser;
    OUTLOOK.MailItem     mailItem;

    try
    {
        app         = new OUTLOOK.Application();
        ns          = app.GetNamespace("MAPI");
        inbox       = ns.GetDefaultFolder(OUTLOOK.OlDefaultFolders.olFolderInbox);

        // EXCEPTION THROWN HERE when I try to get the current user CurrentUser
        currentUser = app.Session.CurrentUser.AddressEntry; 

        if (currentUser.Type == "EX")
        {
            foreach (VMReportItem item in list)
            {
                mailItem = this.CreateOutlookMail(app, item);
                mailItem.Send();
                while (!mailItem.Sent)
                {
                    Thread.Sleep(1000);
                }
            }
        }
    }
    catch (Exception ex)
    {
    }
}


Что я уже пробовал:

Я попытался удалить код currentUser, но я получаю то же самое исключение, когда код пытается выполнить mailItem.Send() Тем не менее, я вижу новое всплывающее окно с электронной почтой, которую я пытаюсь отправить.

В интересах полноты картины CreateMail метод показан ниже:

blic OUTLOOK.MailItem CreateOutlookMail(OUTLOOK.Application app, VMReportItem item)
{
    StringBuilder body = new StringBuilder();
    body.AppendLine(item.Body).AppendLine();
    body.AppendLine(this.RecipientNotice).AppendLine();
    body.AppendLine(this.QuestionsNotice).AppendLine();

    OUTLOOK.MailItem  mail = app.CreateItem(OUTLOOK.OlItemType.olMailItem) as OUTLOOK.MailItem;
    mail.Subject = item.Subject;
    mail.To      = "myaddress@mydomain";
    mail.Body    = body.ToString();
    mail.Attachments.Add(System.IO.Path.Combine(this.ReportPath,item.Attachment));
    mail.Display(false);
    return mail;
}

1 Ответов

Рейтинг:
6

#realJSOP

Я думаю, что проблема заключается в настройке групповой политики. Чтобы обойти это, я использую службы взаимодействия, чтобы найти новое окно электронной почты и нажать кнопку Отправить.