MSG Dosyalarını Yükleme ve Ayrıştırma

Aspose.Email for .NET kullanarak, geliştiriciler Outlook mesaj dosyalarından içerikleri yükleyebilir ve ayrıştırabilir.

  • Diskten MSG dosyalarını yüklemek için statik… MapiMessage.Load metodu MapiMessage sınıf. Sınıf, farklı senaryolar için çeşitli statik yükleme işlevleri sağlar.
  • MSG dosyası içeriğini ayrıştırmak için, MapiMessage birçok yöntem ve özellik sunar.

Bu makalede MSG dosyasını nasıl yükleyeceğinizi ve ayrıştırarak içeriğini nasıl göstereceğinizi öğreneceksiniz. Adımlı kod örnekleri Outlook MSG dosyalarını projenizde nasıl yükleyip ayrıştıracağınızı net bir şekilde anlamanızı sağlayacak.

İlk olarak, MSG dosyalarını dosyadan ya da akıştan nasıl yükleyeceğinizi öğrenin.

MSG Dosyalarını Yükle

Aşağıdaki kod parçacığı, MSG dosyalarını nasıl yükleyeceğinizi gösterir.

// Create an instance of MapiMessage from file
var msg = MapiMessage.Load(@"message.msg");

// Get subject
Console.WriteLine("Subject:" + msg.Subject);

// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);

// Get body
Console.WriteLine("Body" + msg.Body);

// Get recipients information
Console.WriteLine("Recipient: " + msg.Recipients);

// Get attachments
foreach (var att in msg.Attachments)
{
    Console.Write("Attachment Name: " + att.FileName);
    Console.Write("Attachment Display Name: " + att.DisplayName);
}

Aşağıdaki kod örneği MailMessage’ı kullanarak bir mesajı MSG formatında nasıl yükleyeceğinizi gösterir.


var eml = MailMessage.Load("message.msg");

Sonuçta oluşan mesajın, gömülü mesaj eklerini de içerecek şekilde EML formatına dönüştürüldüğüne dikkat edilmelidir. Orijinal mesajın bazı belirli msg format özelliklerini korumak istiyorsanız bu yükleme yöntemini kullanmayın.

Gömülü mesaj eklerinin orijinal formatını korumak için şunu kullanın: msgLoadOptions.PreserveEmbeddedMessageFormat özellik.


var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);

Akıştan Yükle

Aşağıdaki kod snippet’i, dosyayı akıştan nasıl yükleyeceğinizi gösterir.

// Create an instance of MapiMessage from file
byte[] bytes = File.ReadAllBytes(@"message.msg");

using (MemoryStream stream = new MemoryStream(bytes))
{
    stream.Seek(0, SeekOrigin.Begin);
    // Create an instance of MapiMessage from file
    MapiMessage msg = MapiMessage.Load(stream);

    // Get subject
    Console.WriteLine("Subject:" + msg.Subject);

    // Get from address
    Console.WriteLine("From:" + msg.SenderEmailAddress);

    // Get body
    Console.WriteLine("Body" + msg.Body);

}

Gömülü EML Formatını Korumakla EML’yi MSG’ye Dönüştür

EML dosyaları ___ içine yüklenebilir MapiMessage sınıfı, bir ___ örnekleyerek MailMessage nesnesini oluşturup ___‘a geçirerek MapiMessage.FromMailMessage metodu. EML dosyası gömülü EML dosyaları içeriyorsa, şunu kullanın: MapiConversionOptions.PreserveEmbeddedMessageFormat gömülü EML dosyalarının formatını korumak için. Aşağıdaki kod parçacığı, EML dosyalarını ___ içine yüklemeyi gösterir. MapiMessage gömülü EML dosyalarının formatını korurken.

// Load the EML file into a MailMessage object
var mailMessage = MailMessage.Load(emlFilePath);

// Set conversion options to preserve the format of embedded EML messages
var options = new MapiConversionOptions
    {
        PreserveEmbeddedMessageFormat = true
    };

// Convert MailMessage to MapiMessage, preserving embedded EML files
var mapiMessage = MapiMessage.FromMailMessage(mailMessage, options);

// Save the converted message in MSG format
mapiMessage.Save(msgFilePath);

Outlook Mesaj Dosyalarını Ayrıştır

Aspose.Email for .NET şunu sağlar MapiMessage MSG dosyasını açmak ve ayrıştırmak için kullanılan sınıf. Bir MSG dosyasında birçok alıcı olabileceğinden, MapiMessage sınıf şu özelliği sunar Alıcılar bir … döndüren özellik MapiRecipientCollection ki, bir koleksiyonunu temsil eder MapiRecipient nesneler. MapiRecipient nesne, alıcı öznitelikleriyle çalışmak için ek yöntemler sunar.

Aşağıdaki adım sırası bu amacı hizmet eder:

  1. Şunun bir örneğini oluştur MapiMessage sınıfı … kullanarak MapiMessage.Load statik yöntem.
  2. MSG dosyasından gönderen adını, konusunu ve gövdesini şu ile göster: SenderName, Subject ve Gövde özellikler.
  3. Kullan Alıcılar koleksiyonuna referans almak için özellik MapiRecipient MSG dosyasıyla ilişkili nesneler.
  4. Döngüyle gezin MapiRecipientCollection her biri için içerikleri göstermek amacıyla koleksiyon MapiRecipient nesneyi genel metodlarıyla.
//Instantiate an MSG file to load an MSG file from disk
var outlookMessageFile = MapiMessage.Load(dataDir + "message.msg");
//Display sender's name
Console.WriteLine("Sender Name : " + outlookMessageFile.SenderName);
//Display Subject
Console.WriteLine("Subject : " + outlookMessageFile.Subject);
//Display Body
Console.WriteLine("Body : " + outlookMessageFile.Body);
//Display Recipient's info
Console.WriteLine("Recipients : \n");

//Loop through the recipients collection associated with the MapiMessage object
foreach (var rcp in outlookMessageFile.Recipients)
{
	//Display recipient email address
	Console.WriteLine("Email : " + rcp.EmailAddress);
	//Display recipient name
	Console.WriteLine("Name : " + rcp.DisplayName);
	//Display recipient type
	Console.WriteLine("Recipient Type : " + rcp.RecipientType);
}