你好,我用c#创建了一个程序,将outlook电子邮件转换成pdf格式。我已经完成了这个节目。
这是我的密码
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
NameSpace outlookNs = app.GetNamespace("MAPI");
MAPIFolder rootFolder = outlookNs.Stores[parameters[0].ToString()].GetRootFolder();
List<MailItem> mailItems = new List<MailItem>();
Folders subFolders = rootFolder.Folders;
foreach (Folder folder in subFolders)
{
Items items = folder.Items;
foreach (object item in items)
{
if (item is MailItem)
{
}
}
}但是我的输入是.pst文件,我收到的是.olm文件。它对mac的展望。有很多olm到pst转换器,但我付不起钱(我在一家公司工作)
所以我的问题是,有没有一个互操作版本的mac。这样我就可以把我的代码改成java了?
我已经查过了却找不到。
发布于 2017-04-18 12:05:29
MAC操作系统没有互操作。COM自动化技术仅适用于Windows。
如果您想要在MAC上自动化某些东西,则需要使用AppleScript。
发布于 2019-11-01 15:31:40
要将OLM转换为PST,可以使用第三方库。
我更愿意在这个提议中使用Aspose.Email。看看一个例子。
string dst = "SampleOLM.olm";
//Initialize Olm storage
using (OlmStorage storage = new OlmStorage(dst))
{
//Initialize Pst storage
using (PersonalStorage pst = PersonalStorage.Create("output.pst", FileFormatVersion.Unicode))
{
//Create only Inbox folder as an example
FolderInfo pstFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);
//Go through folders in the OLM storage
foreach (OlmFolder folder in storage.FolderHierarchy)
{
//Check is this folder empty
if (folder.HasMessages)
{
// extract messages from folder
foreach (MapiMessage msg in storage.EnumerateMessages(folder))
{
//Add message to the pst storage
pstFolder.AddMessage(msg);
Console.WriteLine("Subject: " + msg.Subject);
}
}
}
}
}它很容易使用。此外,这个库有大量的功能,可以改善处理电子邮件,日历等。
我是阿斯坡公司的一名开发人员。
https://stackoverflow.com/questions/43463766
复制相似问题