EML'yi HTML'ye Dönüştür
EML’i HTML’ye Dönüştür
E-posta içeriğini web uygulamalarına entegre etmek için EML’den HTML’ye dönüşüm doğru seçimdir; görsel olarak çekici e-posta sunumunu kolaylaştırır.
EML’yi HTML’ye dönüştürmek için aşağıdaki sınıflara ihtiyaç duyacaksınız:
- MailMessage sınıf, bir e-posta mesajını temsil eden bir nesne oluşturmak için kullanılır. Konu, gövde, gönderen ve alıcı adresleri gibi mesaj özelliklerine erişim sağlar. Yöntemleriyle mesajları oluşturabilir, yükleyebilir, ayrıştırabilir, değiştirebilir, kaydedebilir ya da diğer manipülasyonları yapabilirsiniz.
- SaveOptions sınıf, e-posta mesajlarını çeşitli formatlarda kaydetmek için seçenekler sunar. Kullanıcıların mesajları farklı formatlarda nasıl kaydedeceklerini özelleştirmelerini sağlar. Bu sınıfla kullanıcılar ekleri, başlıkları, meta verileri ve mesaj özelliklerini kaydetme seçeneklerini, kodlama ayarlarını belirtebilir veya mesajları şifreli olarak kaydedip kaydetmeyeceklerini seçebilir.
Aşağıdaki kod örneğinde bu sınıflar, varolan bir EML dosyasını yüklemek ve mesaj formatını EML olarak belirtmek için birlikte çalışır. Ardından, yüklenen e-posta mesajını belirtilen varsayılan HTML kaydetme seçenekleriyle bir HTML dosyasına kaydederler:
- Kullan MailMessage.Load() varolan dosyayı mesaj formatını belirterek bir MailMessage nesnesine yüklemek için yöntem.
- Yüklenen MailMessage nesnesini bir HTML dosyası olarak şunu kullanarak kaydedin: kaydet yöntemi. Kullan: SaveOptions.DefaultHtml() HTML formatı için kaydetme seçeneklerini belirtmek.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
EML Kaynaklarını Ayrı Bir Dosyada Kaydet
Aspose.Email şunları sağlar ResourceRenderingMode HTML dosyasındaki kaynakları yönetmeye izin veren enum. Aşağıdaki kod örneğinde bu enum, kaynakları bir dosyaya kaydetmek ve HTML’de bu dosyanın yolunu ‘src’ etiketi içinde eklemek için kullanılır:
- Kaynak dosyadan e-posta mesajını şunu kullanarak yükleyin: MapiMessage.Load metod.
- Bir örnek oluştur HtmlSaveOptions belirtilen render ve kaynak seçenekleriyle.
- Yüklenen e-posta mesajını hedef konuma bir HTML dosyası olarak şunu kullanarak kaydedin: Kaydet yöntemi, HtmlSaveOptions parametresiyle.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Kaynakları bir HTML Dosyasına Göm
Bazı durumlarda, sorunsuz dağıtım ve sunum için kaynakların (örneğin resimler) doğrudan HTML dosyasına gömülmesi gerekir. Aspose.Email for .NET ile bunu şunu kullanarak kolayca yapabilirsiniz: ResourceRenderingMode enumerasyonu:
- Kaynak dosyadan e-posta mesajını şunu kullanarak yükleyin: MapiMessage.Load metod.
- Yeni bir HtmlSaveOptions nesnesi ve ResourceRenderingMode özelliğini EmbedIntoHtml olarak ayarlayın.
- Yüklenen e-posta mesajını bir HTML dosyası olarak şunu kullanarak kaydedin: Kaydet yöntemi, hedef dosya yolunu belirterek ve HtmlSaveOptions nesnesini parametre olarak geçerek kaynakları HTML dosyasına gömmek için.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
EML’i ICS’ye Dönüştür
Aşağıdaki kod örneği, bir EML dosyasından takvim etkinliği verilerini çıkarmayı ve bunu daha sonraki kullanım veya işleme için ayrı bir ICS dosyasına kaydetmeyi gösterir.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
File.WriteAllText("appointment.ics", icsView);
}
Özelleştirme
Aspose.Email for .NET, EML (Elektronik Mail) dosyalarından çıkarılan ICS (iCalendar) içeriğini özelleştirmek için araçlar sunar.
Etkinlik detaylarını özelleştir
Aşağıdaki kod örneği, randevu özetini, konumunu ve açıklamasını gibi çeşitli detayları ayarlamayı gösterir. Kod şu sınıfı kullanır: Appointment ICS (iCalendar) formatında takvim randevularını veya etkinliklerini temsil eden sınıf. Sınıf, takvim etkinliklerini programlı olarak oluşturmak, değiştirmek ve yönetmek için özellikler ve yöntemler sağlar.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));
// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";
// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");
// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");
Tekrarlama deseni oluştur
Aşağıdaki kod örneği, bir randevu için haftalık bir tekrarlama deseni oluşturmayı gösterir; randevu her 5 haftada bir Cumartesi günü gerçekleşir. Kod şu sınıfı kullanır: Recurrence özellik Appointment tekrarlama desenini alan veya ayarlayan sınıf.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
EML’i MBOX’a Ekle
MBOX, bir dosyada birden çok e-posta mesajını depolamak için yaygın olarak kullanılan bir formattır, bu da e-posta arşivleme ve taşıma amaçları için uygundur. Şunu kullanın: MboxrdStorageWriter sınıfı, e-posta mesajlarını bir MBOX dosyasına yazmak içindir. Aşağıdaki kod örneği bu görevi nasıl yerine getireceğinizi gösterir:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
EML’i MHTML’e Dönüştür
Aspose.Email for .NET ile, EML dosyalarını arşivleme, uyumluluk, çevrim dışı görüntüleme vb. çeşitli amaçlar için kolayca MHTML formatına dönüştürebilirsiniz. E-posta mesajını şununla yükleyin: MailMessage.Load, ardından şunu kullanın: MhtSaveOptions sınıfı, şunun parametresi olarak: MailMessage.Save mesajı ayrı bir dosya olarak kaydederken çıktı dosya formatını belirlemek için yöntem:
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);
Bu MhtSaveOptions sınıfı, çıktı MHTML dosyalarını belirli gereksinimlerinize göre özelleştirmek için çeşitli seçenekler sunar:
-
Orijinal tarih biçimini koruyun. Dönüştürme sürecinde e-posta mesajlarının özgün biçimini korumayı seçebilirsiniz:
saveOptions.PreserveOriginalDate = true; -
Çıktı kodlamasını ayarlayın. Çıktı MHTML dosyaları yazılırken kullanılacak kodlamayı belirtebilirsiniz:
saveOptions.OutputEncoding = Encoding.UTF8; -
Ekleri dahil edin. Bu, e-postaları MHTML formatına dönüştürürken ekleri korumak istiyorsanız faydalı olabilir:
saveOptions.SaveAttachments = true;
EML’i MSG’ye Dönüştür
E-posta verilerini taşımak, mesajları arşivlemek veya Microsoft Outlook ile bütünleştirmek ister misiniz, Aspose.Email hedeflerinize ulaşmanız için çözümler sunar. MSG dosyaları Microsoft Outlook tarafından yaygın olarak kullanılır. EML’den MSG’ye dönüşüm için şunu kullanın: MailMessage.Load varolan EML dosyasını nasıl yükleneceğini belirterek yüklemek için yöntem: EmlLoadOptions.
Aşağıdaki kod örneği EML dosyalarını MSG formatına dönüştürmeyi gösterir:
// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
}
EML’i OFT’ye Dönüştür
EML dosyalarını Outlook Şablonu (OFT) formatına dönüştürmek için mevcut e-posta mesajını şununla yükleyin: MailMessage.Load yöntemi ve şununla kaydedin: MailMessage.Save bir mesajı OFT formatında kaydetmek için varsayılan seçenekleri belirterek:
// load the EML file to be converted
var message = MailMessage.Load("My File.eml");
// save EML as a OFT
message.Save("Saved File.oft", SaveOptions.DefaultOft);
EML’i PST’ye Ekle
EML dosyalarını Kişisel Depolama Tablosu (PST) formatına dönüştürmek için mesajı şununla yükleyin: MapiMessage.Load yöntemi, çıktı dosyasını şununla oluşturun: PersonalStorage.Create ve depolama dosyasında oluşturulan Gelen Kutusu klasörüne e-postayı eklemek için şunu kullanarak: AddMessage:
using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
inbox.AddMessage(msg);
}
}
EML’i OST’ye Ekle
Geliştiriciler, EML dosyalarını Outlook Çevrimdışı Depolama Tablosu (OST) formatına kolayca dönüştürebilir, Microsoft Outlook ile bütünleştirme sağlar. Aşağıdaki kod örneği bir EML mesajını OST dosyasına eklemeyi gösterir:
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
// Load the EML file
var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());
// Add the EML message to the OST file
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
Bu EmlLoadOptions parametre, gömülü mesaj formatlarını koruma, imzaları kaldırma vb. gibi EML dosyalarını yüklemek için ek seçenekleri belirtir.
EML’i VCF’ye Dönüştür
Aspose.Email for .NET, EML dosyalarını vCard (VCF) formatına dönüştürme işlevi sunar, böylece geliştiriciler e-posta mesajlarından iletişim bilgilerini çıkarabilir. Bu amaçla, kütüphane şunu sunar: GetAlternateViewContent metodu MailMessage sınıfı, geliştiricilerin e-posta mesajlarındaki alternatif görünümlere erişmesini ve EML dosyalarına gömülü VCF içeriğini çıkarmasını sağlar:
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
File.WriteAllText("contact.vcf", vcfView);
}