Eml to pst Redemption C# -> Null Exception RDOMail



我正在尝试创建一个将 eml 文件转换为单个 pst 的程序。我已经写了那个命令:

RDOSession session = new RDOSession();
RDOPstStore store = session.LogonPstStore(newpstpath);
RDOFolder folder = store.IPMRootFolder.Folders.Item(directoryEmlFile);
RDOMail mail = folder.Items.Add("IPM.Note");

但在命令"RDOMail 邮件 = 文件夹。Items.Add("IPM.注意")"系统给了我空异常。谁能帮我?

您需要区分 Outlook 和 Redemption 对象。

看起来您需要使用 Session 类(救赎)的 GetRDOObjectFromOutlookObject 方法。

 set Session = CreateObject("Redemption.RDOSession")
 Session.MAPIOBJECT = Application.Session.MAPIOBJECT
 set redItem= Session.GetRDOObjectFromOutlookObject(mail)

类的 Add 方法在文件夹的 Items 集合中创建并返回一个新的 Outlook 项目。

文件夹变量很可能为 null - 如果文件夹不存在,则按名称检索它 ( RDOFolder.Folders.Item("foldername")) 将返回 null:

RDOSession session = new RDOSession();
RDOPstStore store = session.LogonPstStore(newpstpath);
RDOFolder folder = store.IPMRootFolder.Folders.Item(directoryEmlFile);
if (folder == null) folder = store.IPMRootFolder.Folders.Add(directoryEmlFile);
RDOMail mail = folder.Items.Add("IPM.Note");

相关内容

  • 没有找到相关文章

最新更新