使用Redemption回复邮件只会间歇性地设置正文

时间:2010-02-16 11:20:46

标签: outlook outlook-redemption

我正在使用以下方法回复进入商务功能邮箱的邮件。

正在添加的正文文本只是间歇性地设置。只有当有人通过电子邮件取消订阅邮件但在数据库中找不到发件人(或正文)的电子邮件地址并且我们要求他们向我们发送他们想要的邮件地址时,才会调用此方法取消订阅。

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 :(得分:0)

首先,如果您已经使用OOM,则没有理由调用RDOSession.Logon。您可以简单地修改MAPIOBJECT属性: 将行session.Logon()替换为 session.MAPIOBJECT = item.Application.Session.MAPIOBJECT not 调用Logoff。

其次,你是否可以通过身体收到消息?您是否在“已发送邮件”文件夹中看到空的bofy?

答案 1 :(得分:0)

我必须编辑thingie.HTMLBody以及thingie.Body。

我想我可以想出如何判断何时设置每一个的值,但因为我只想确保在这个实例中我控制了身体,我只是设置两者。