Использование Redemption для ответа на почту только периодически устанавливает основной текст - PullRequest
0 голосов
/ 16 февраля 2010

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

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

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();

            RDOAddressEntry optingout = session.AddressBook.GAL.ResolveName("optingout");
            //reply.Sender = optingout; this had no effect
            reply.SentOnBehalfOf = optingout;
            reply.Subject = "Automated Response - Could not complete unsubscribe";
            reply.Body = "This is an automated response from the Newsletter unsubscribe system. We couldn't find "+item.Sender+" in our database to unsubscribe you from our mailings.\r\n\r\nPlease reply to this mail and include the email address you want to unsubscribe.\r\n\r\nKind Regards\r\n.";
            reply.Send();

            session.Logoff();
        }

Ответы [ 2 ]

0 голосов
/ 23 марта 2010

Мне пришлось редактировать thingie.HTMLBody, а также thingie.Body.

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

0 голосов
/ 16 февраля 2010

Во-первых, если вы уже используете OOM, нет необходимости вызывать RDOSession.Logon. Вы можете просто использовать свойство MAPIOBJECT: Замените строку session.Logon () на session.MAPIOBJECT = item.Application.Session.MAPIOBJECT не вызовите Logoff.

Во-вторых, вы получаете сообщение без тела? В папке «Отправленные» вы видите пустой bofy?

...