نوشتن و خواندن پیام ها در ذخیره سازی Thunderbird در جاوا

Thunderbird یک برنامه منبع باز است که به شما امکان می دهد حساب های ایمیل خود را پیکربندی کنید و به پیام های ایمیل از آنها دسترسی داشته باشید. این نرم افزار مدیریت ایمیل های چند اکانت را در یک مکان ممکن می سازد. در موارد خاص، ممکن است لازم باشد پیام‌های ایمیل را در فضای ذخیره‌سازی Thunderbird به صورت برنامه‌نویسی ایجاد کرده و به آنها دسترسی داشته باشید. مطابق با آن، این مقاله نحوه نوشتن و خواندن پیام ها در ذخیره سازی Thunderbird در جاوا را نشان می دهد.

Java API برای نوشتن و خواندن پیام ها در Thunderbird Storage

برای نوشتن و خواندن پیام‌های ایمیل در فضای ذخیره‌سازی Thunderbird، از Aspose.Email for Java استفاده می‌کنیم. این یک API پردازش ایمیل است که به شما امکان می دهد ایمیل ها را دستکاری کنید و با کلاینت های ایمیل محبوب مانند Thunderbird، Outlook و غیره کار کنید. می توانید API را دانلود یا با استفاده از تنظیمات Maven زیر نصب کنید.

مخزن:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

وابستگی:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.3</version>
    <classifier>jdk16</classifier>
</dependency>

برای ذخیره سازی Thunderbird در جاوا پیام بنویسید

با استفاده از Aspose.Email برای جاوا می‌توانید پیام‌های جدیدی ایجاد کنید و در طی چند مرحله آن‌ها را در حافظه Thunderbird ذخیره کنید. در ادامه مراحل انجام این عملیات در جاوا آمده است.

  • ابتدا فایل MBOX را در یک شی FileOutputStream بارگذاری کنید.
  • سپس، یک نمونه از MboxrdStorageWriter ایجاد کنید و آن را با جریان مقداردهی اولیه کنید.
  • پس از آن، یک MailMessage جدید ایجاد کنید یا از فایل بارگیری کنید.
  • با استفاده از روش MboxrdStorageWriter.writeMessage(MailMessage) پیام را در فضای ذخیره سازی بنویسید.
  • در نهایت، نویسنده را از بین ببرید و جریان را ببندید.

نمونه کد زیر نحوه نوشتن پیام به ذخیره سازی Thunderbird در جاوا را نشان می دهد.

// فایل را بارگیری کنید
try (FileOutputStream writeStream = new FileOutputStream("inbox")) {
    
    // نویسنده ایجاد کنید
    try (MboxrdStorageWriter writer = new MboxrdStorageWriter(writeStream, false)) {
        
        // بارگیری پیام از فایل MSG
        MailMessage msg = MailMessage.load("Message.msg");
        String[] fromMarker = {null};
        
        // پیام بنویس
        writer.writeMessage(msg, fromMarker);
    }
}

پیام‌های ذخیره‌سازی Thunderbird را در جاوا بخوانید

برای خواندن پیام‌های ذخیره‌سازی Thunderbird، باید فایل ذخیره‌سازی را با استفاده از کلاس MboxrdStorageReader بارگیری کنیم. مراحل زیر برای خواندن پیام های Thunderbird در جاوا آمده است.

  • ابتدا فایل MBOX را در یک شی FileInputStream بارگذاری کنید.
  • سپس، یک نمونه از MboxrdStorageReader برای خواندن فایل ذخیره سازی ایجاد کنید.
  • پس از آن، اولین پیام را با استفاده از روش MboxrdStorageReader.readNextMessage() بخوانید.
  • سپس، یک حلقه برای تکرار در تمام پیام ها راه اندازی کنید.
  • هر پیام را بخوانید و در صورت نیاز روی دیسک ذخیره کنید.
  • در نهایت خواننده را در انتها از بین ببرید.

نمونه کد زیر نحوه خواندن پیام های ذخیره سازی Thunderbird در جاوا را نشان می دهد.

// فایل را بارگیری کنید
try (FileInputStream stream = new FileInputStream("file.mbox")) {
    
    // گزینه های بار را ایجاد کنید
    MboxLoadOptions lo = new MboxLoadOptions();
    lo.setLeaveOpen(false);
    
    // خواندن پیام ها از فایل
    try (MboxrdStorageReader reader = new MboxrdStorageReader(stream, lo)) {
        MailMessage msg;
        String[] fromMarker = {null};
        while ((msg = reader.readNextMessage(/* out */fromMarker)) != null) {
            System.out.println(fromMarker[0]);
        }
    }
}

مجوز API رایگان دریافت کنید

می‌توانید از Aspose.Email برای جاوا بدون محدودیت ارزیابی با استفاده از مجوز موقت رایگان استفاده کنید.

نتیجه

با استفاده از Thunderbird، می‌توانید پیام‌های ایمیل را از چندین حساب در یک مکان مدیریت کنید. در این مقاله نحوه نوشتن پیام به ذخیره سازی Thunderbird در جاوا را یاد گرفتید. همچنین، نحوه خواندن پیام‌های ذخیره‌سازی Thunderbird را به صورت برنامه‌ریزی دیده‌اید. جدای از آن، می‌توانید برای بررسی سایر ویژگی‌های Aspose.Email برای جاوا از مستندات دیدن کنید. در صورت داشتن هر گونه سوال، می توانید در [فروم 14 ما پست کنید.

همچنین ببینید