使用Aspose.Email导出Lotus Notes(.NSF)消息

What is IBM Notes?

IBM(莲花)注释和IBM Domino are the client和server, which represents a collaborative client-server software platform. IBM Notes和Domino is a distributed document-oriented NoSQL database和messaging framework和a rapid application development environment that includes pre-built applications like email, calendar,和others. IBM Notes differs from its primary commercial competitors, like Microsoft Exchange, which are purpose-built applications for mail和calendaring that offer APIs for extensibility. The history of IBM Notes is spanning more than 30 years.

What does Lotus consist of?

IBM Notes提供了许多有用的功能,例如:

  • 电子邮件行事历待办事项清单联系人管理讨论区文件共享微博即时通讯网志用户目录

Why did people choose it?

莲花便笺是最早提供业务协作功能的应用程序之一。 当它在90年代出版时,它成为了将“聊天组”和“留言板”转变为我们现在所知的正确的在线协作工作区的工具。

顺便说一句,在甚至还没有发明HTTPS之前,Lotus Notes提供了其认证证书用于通过加密连接到联机数据源,这称为Lotus Notes ID。 因此,Lotus Notes应用程序和数据库已加密,只能使用由授权用户通过他们的Notes ID。

Lotus Notes的复制允许在多个服务器和本地计算机上保留数据库的多个副本。 它允许开发人员创建具有可变长度数据记录的富文本数据库。

因此,我们可以重点介绍人们选择它的两个主要原因:

  1. 安全。 与MS Office相比,IBM Notes Domino可以进一步降低组织的安全风险。 众所周知,MS Office通过Office宏吸引了黑客,这些宏允许Office中运行的恶意脚本触发加密病毒或本地存储的恶意软件。 有些人承认IBM Domino更安全,而另一些人则声称它现在并不流行,不足以引起黑客的注意。 关键是,与MS Office相比,使用IBM Notes Domino更安全。稳定性。 Lotus IBM Notes在市场上拥有悠久的历史。 该软件解决方案已经稳定了20多年,这意味着投资使用该产品的公司可以放心投资。

Why do people move from IBM Notes?

如果一切都很好,您可能会问:“为什么人们离开IBM Notes?”。 这有一些原因:

  1. 的成本高Lotus Notes解决方案。我从1997年开始发现了一个聊天消息分支。20年前,Domino Server的一个主要缺点是准确的–大量消耗RAM。 此外,与MS Outlook相比,Lotus Notes需要更多的系统空间。多任务处理问题。 例如,如果您尝试对具有1000000个文档的NSF文件中的视图进行排序,并在排序完成后阅读邮件,则该视图可能会变成“不可能完成的任务”如它不能同时完成。Lotus Notes日历问题。 If you receive many messages a day, you can miss an appointment, and you will miss a meeting。 Because if you do not accept a meeting invite, it never shows up in the calendar view。 You have to create a separate folder for meeting responses。 If you accidentally delete the calendar document or response document – everything will disappear。人气度。 Comparing IBM笔记with MS Office, we can admit that Microsoft's solution is much more popular。 IBM笔记看起来不太用户友好。 More and more users are familiar with the Microsoft solution。 This fact impacts on the speed of onboarding and degree of overall efficiency。 New employees don't have to learn how to set a calendar appointment or send an email, which increases the productivity of the company。 Some administrators find Notes Domino hard to administrate。整合问题。 SaaS model is very popular nowadays。 There are many great tools available for many aspects of business。 的greatest thing about SaaS is that it easily integrates with large software tools。 If you are using IBM笔记server Domino, it can be a challenge to set up integration between the server and SaaS。组态。 Other platforms come with a good central management right out of the box, while you have to spend a lot of time to configure IBM笔记Domino。

Moving Mailbox from IBM Notes.

所有上述要点都迫使从IBM Notes迁移。 第一步-迁移邮件。

所有消息都存储在NSF存储, which is initial storage in Domino Server. It’s hard to find information about NSF存储 which makes hard to implement the data transferring from NSF存储.

您应该记住的主要风险是平台之间的迁移不可能100%准确。 文件,附件,数据,设置,历史记录,文本布局可能已损坏或丢失。

How to deal with NSF storage?

Aspose.Email takes care of it. The API has versions for .NET, Java and others, implementing methods to work with NSF storage. Therefore, you don’t need to spend time and resources to implement them by yourself.

一种spose.Email provides NotesStorageFacility class with EnumerateMessages method to read NSF storage files. It iterates over the messages in the NSF storage file. The following sample code demonstrates how to use is for reading messages from the NSF storage file.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
using (NotesStorageFacility nsf = new NotesStorageFacility(dataDir + "SampleNSF.nsf"))
{
    foreach (MailMessage eml in nsf.EnumerateMessages())
    {
        eml.Save(eml.Subject + ".eml", SaveOptions.DefaultEml);
    }
}

类似的基于Java的示例:

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the resource directory.
String dataDir = Utils.getSharedDataDir(ReadMessagesFromNSFStorage.class) + "email/";
NotesStorageFacility nsf = new NotesStorageFacility(dataDir + "SampleNSF.nsf");
try {
for (MailMessage eml : nsf.enumerateMessages()) {
     eml.Save(eml.Subject + ".eml", SaveOptions.DefaultEml);
     }
} finally {
     nsf.dispose();
}

To find more about usage of Aspose.Email you can vist Working with IBM Notes.

You can say: "Ok. But how can I move my messages from NSF to PST?"
And this is a popular question.
Don't worry! Here is a sample of how simple it can be with Aspose.Email.
This library allows to work not only with NSF and PST formats but also with MSG, OST, OFT, EML, EMLX, MBOX, ICS, VCF, HTML, MHTML.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
//Initialize NSF storage
using (NotesStorageFacility nsf = new NotesStorageFacility("SampleNSF.nsf"))
{
    //Initialize PST storage
    using (PersonalStorage pst = PersonalStorage.Create("outputPST.pst", FileFormatVersion.Unicode))
    {
        //Creating 'Inbox' folder in PST storage
        FolderInfo pstFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);

         //Run throught NSF storage
         foreach (MailMessage eml in nsf.EnumerateMessages())
         {
             MapiMessage msg = MapiMessage.FromMailMessage(eml);

             //Adding message into the folder in PST storage
             pstFolder.AddMessage(msg);
          }
     }
}

There are many other features included in Aspose.Email API. Here you can find out more details!
When time allows, you can check out API examples at Github.
If you have any questions and other API related issues, ask in our forum.

from: https://dev.to//aspose_email/export-lotus-notes-nsf-messages-with-aspose-email-1mb8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 Aspose.Cells 提供的 Workbook 类来导出多个 Sheet 的 Excel 文件。以下是一个示例代码段,演示如何创建一个包含多个 Sheet 的工作簿并将其导出到 Excel 文件: ```csharp // 创建一个工作簿对象 Workbook workbook = new Workbook(); // 添加第一个 Sheet Worksheet sheet1 = workbook.Worksheets[0]; sheet1.Name = "Sheet1"; // 添加数据到第一个 Sheet sheet1.Cells["A1"].PutValue("Hello"); sheet1.Cells["B1"].PutValue("World"); // 添加第二个 Sheet Worksheet sheet2 = workbook.Worksheets.Add("Sheet2"); // 添加数据到第二个 Sheet sheet2.Cells["A1"].PutValue("Aspose"); sheet2.Cells["B1"].PutValue("Cells"); // 导出工作簿到 Excel 文件 workbook.Save("output.xlsx", SaveFormat.Xlsx); ``` 在上面的示例代码中,我们首先创建了一个工作簿对象,然后添加了两个 Sheet,并向每个 Sheet 中添加了一些数据。最后,我们将工作簿保存到名为“output.xlsx”的 Excel 文件中。 如果您需要导出多个工作簿到同一个 Excel 文件中,您可以创建多个工作簿对象并使用 Workbook.Combine 方法将它们组合在一起,然后将组合后的工作簿保存到一个 Excel 文件中。例如: ```csharp // 创建第一个工作簿对象 Workbook workbook1 = new Workbook(); Worksheet sheet1 = workbook1.Worksheets[0]; sheet1.Name = "Sheet1"; sheet1.Cells["A1"].PutValue("Hello"); sheet1.Cells["B1"].PutValue("World"); // 创建第二个工作簿对象 Workbook workbook2 = new Workbook(); Worksheet sheet2 = workbook2.Worksheets[0]; sheet2.Name = "Sheet2"; sheet2.Cells["A1"].PutValue("Aspose"); sheet2.Cells["B1"].PutValue("Cells"); // 组合两个工作簿 Workbook combinedWorkbook = new Workbook(); combinedWorkbook.Combine(new Workbook[] { workbook1, workbook2 }); // 导出组合后的工作簿到 Excel 文件 combinedWorkbook.Save("output.xlsx", SaveFormat.Xlsx); ``` 在上面的示例代码中,我们创建了两个工作簿对象,然后使用 Workbook.Combine 方法将它们组合在一起,并将组合后的工作簿保存到一个 Excel 文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值