Использование выкупа для отправки в качестве другого пользователя - PullRequest
1 голос
/ 12 февраля 2010

Когда я смотрю в Outlook, я вижу свой почтовый ящик, а также дополнительные почтовые ящики "бизнес-функции". Одним из них является "отказ"

Я написал консольное приложение, которое проходит по нескольким из этих функциональных почтовых ящиков (перечисляя папки в моем сеансе) и захватывает все письма, чтобы затем я мог просматривать их и выполнять действия в зависимости от почтового ящика, темы и корпус.

В одном случае мне нужно ответить на электронное письмо, чтобы сказать, что они попросили отписаться, но я не могу найти электронное письмо, которое они использовали (или предоставили в теле) в нашей базе данных, и могут ли они ответить с правильным почта ... это, как правило, когда люди пересылают почту и забывают (а мы получаем смешную сумму!)

В приведенном ниже коде OutlookItem является пользовательским классом, а не классом выкупа или внешнего вида

Когда я использовал:

private void replyToMail(OutlookItem item)
{
    RDOSession session = new RDOSession();
    session.Logon(null, null, null, true, null, null);
    RDOMail thisItem = session.GetMessageFromID(item.EntryID, item.StoreID, null);
    RDOMail reply = thisItem.Reply();
    reply.Subject = "Automated Response - Could not complete unsubscribe";
    reply.Body = "This is an automated response ...";
    reply.BCC = "test@our-domain.co.uk";
    reply.Send();
    session.Logoff();
}

почта отправляется нормально, но отправляется с моего адреса, а не с optingout@our-domain.co.uk

если я использую:

private void replyToMail(OutlookItem item)
{
    RDOSessionClass session = new RDOSessionClass();
    session.LogonExchangeMailbox("optingout", "big.ol.mailserver");
    RDOMail thisItem = session.GetMessageFromID(item.EntryID, item.StoreID, null);
    RDOMail reply = thisItem.Reply();
    reply.Subject = "Automated Response - Could not complete unsubscribe";
    reply.Body = "This is an automated response ...";
    reply.BCC = "test@our-domain.co.uk";
    reply.Send();
    session.Logoff();
}

Выдает исключение о том, что почтовый профиль не настроен

Так, как я могу использовать погашение, чтобы ответить на сообщение и управлять адресом отправки?

Большое спасибо заранее ...

1 Ответ

1 голос
/ 15 февраля 2010

Свойства RDOMail, соответствующие отправителю сообщения, называются SentOnBehalfOf*. Если вы можете, установите его с помощью EntryID (то есть SentOnBehalfOfEntryID) или назначив соответствующий объект RDOAddressEntry непосредственно свойству SentOnBehalfOf. Установка только свойства SentOnBehalfOfName создает риск неоднозначности имени.

Для установки этого параметра необходимо, чтобы учетная запись, используемая для входа в хранилище Exchange, имела разрешения «Отправить как» для записи в адресной книге, для которой сообщение следует отправлять от имени.

...