Aspose.Email.Outlook ile Mesaj Dosyalarını Yönetme
MSG’yi MIME mesaja Dönüştürme
Aspose.Email API, MSG dosyalarını MIME mesajlarına dönüştürme yeteneği sağlar, toMailMessage metod.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
MapiMessage msg = new MapiMessage(
"sender@test.com",
"recipient1@test.com; recipient2@test.com",
"Test Subject",
"This is a body of message.");
MailConversionOptions options = new MailConversionOptions();
options.setConvertAsTnef(true);
MailMessage mail = msg.toMailMessage(options);
MSG’yi EML’ye Dönüştürürken RTF Gövdesini Korumak
API, MSG’yi EML’ye dönüştürürken RTF gövdesini korumak için aşağıdaki yöntemleri sunar:
- MsgLoadOptions.PreserveRtfContent - MailMessage içinde rtf gövdesini tutup tutmayacağını belirten bir değeri alır veya ayarlar.
- MailConversionOptions.PreserveRtfContent - MailMessage içinde rtf gövdesini tutup tutmayacağını belirten bir değeri alır veya ayarlar.
Aşağıdaki kod örnekleri, MailMessage içinde rtf gövdesini nasıl koruyacağınızı gösterir:
- kullanarak MsgLoadOptions.PreserveRtfContent
MsgLoadOptions options = new MsgLoadOptions();
options.setPreserveRtfContent(true);
MailMessage message = MailMessage.load("fileName", options);
- kullanarak MailConversionOptions.PreserveRtfContent
MapiMessage mapi = MapiMessage.load("fileName");
MailConversionOptions options = new MailConversionOptions();
options.setPreserveRtfContent(true);
MailMessage message = mapi.toMailMessage(options);
MSG’yi MHTML’ye Dönüştürürken Kategori Başlığını Korumak
Aspose.Email API, mesajı MHTML’ye dönüştürürken bir kategori başlığı ekleme imkanı sağlar. Bu özellik, MhtSaveOptions MailMessage’ı Mhtml formatında kaydederken ek bir seçenek olarak sınıf.
Aşağıdaki kod örneği, bir MapiMessage nesnesinden MHT (MHTML) dosyası nasıl oluşturulacağını, MhtSaveOptions kullanarak MHT dosyasının biçimlendirmesini ve başlıklarını özelleştirmeyi, e-posta mesajı için kategorileri ayarlamayı ve ardından kaydetmeden önce MHT dosyasının format şablonlarını ve render başlıklarını nasıl değiştireceğinizi gösterir.
MapiMessage msg = new MapiMessage("from@aaa.com", "to@aaa.com", "subj", "body");
msg.setCategories(new String[] { "Urgently", "Important" });
MhtSaveOptions saveOptions = new MhtSaveOptions();
saveOptions.getFormatTemplates().set_Item(MhtTemplateName.CATEGORIES,
saveOptions.getFormatTemplates().get_Item(MhtTemplateName.CATEGORIES).replace("Categories", "Les catégories"));
saveOptions.getRenderingHeaders().add(MhtTemplateName.CATEGORIES);
msg.save("fileName.mhtml", saveOptions);
Outlook Şablon Dosyası (.OFT) Okuma ve Yazma
Outlook şablonları, benzer bir e-posta mesajını tekrar tekrar göndermek istediğinizde çok faydalıdır. Her seferinde baştan mesaj hazırlamak yerine, önce mesajı Outlook’ta hazırlayın ve Outlook Şablonu (OFT) olarak kaydedin. Daha sonra, mesajı göndermeniz gerektiğinde, şablondan oluşturabilirsiniz; böylece gövde veya konu satırına aynı metni yazmak, biçimlendirme ayarlamak gibi zaman tasarrufu sağlanır. Aspose.Email MailMessage sınıfı, bir Outlook şablonu (OFT) dosyasını yüklemek ve okumak için kullanılabilir. Outlook şablonu, bir örnekte yüklendiğinde MailMessage sınıfı ile gönderen, alıcı, gövde, konu ve diğer özellikleri güncelleyebilirsiniz. Özellikleri güncelledikten sonra:
- E-postayı şunu kullanarak gönder SmtpClient sınıfı veya
- Mesajı MSG olarak kaydedin ve Microsoft Outlook kullanarak daha fazla güncelleme/doğrulama yapın.
Aşağıdaki kod örneklerinde, biz:
- Şablonu şunu kullanarak yükle MailMessage sınıf.
- Bazı özellikleri güncelle.
- Mesajı MSG formatında kaydet.
Aşağıdaki kod parçacığı, OFT dosyasını nasıl yükleyeceğinizi, mesajı güncelleyeceğinizi ve MSG formatında kaydedeceğinizi gösterir.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
// Load the Outlook template (OFT) file in MailMessage's instance
MailMessage message = MailMessage.load(dataDir + "sample.oft", new MsgLoadOptions());
// Set the sender and recipients information
String senderDisplayName = "John";
String senderEmailAddress = "john@abc.com";
String recipientDisplayName = "William";
String recipientEmailAddress = "william@xzy.com";
message.setSender(new MailAddress(senderEmailAddress, senderDisplayName));
message.getTo().addMailAddress(new MailAddress(recipientEmailAddress, recipientDisplayName));
message.setHtmlBody(message.getHtmlBody().replace("DisplayName", "<b>" + recipientDisplayName + "</b>"));
// Set the name, location and time in email body
String meetingLocation = "<u>" + "Hall 1, Convention Center, New York, USA" + "</u>";
String meetingTime = "<u>" + "Monday, June 28, 2010" + "</u>";
message.setHtmlBody(message.getHtmlBody().replace("MeetingPlace", meetingLocation));
message.setHtmlBody(message.getHtmlBody().replace("MeetingTime", meetingTime));
// Save the message in MSG format and open in Office Outlook
MapiMessage mapimessage = MapiMessage.fromMailMessage(message);
mapimessage.setMessageFlags(MapiMessageFlags.MSGFLAG_UNSENT);
mapimessage.save(dataDir + "ReadAndWritingOutlookTemplateFile_out.msg");
Outlook MSG Dosyasını Şablon Olarak Kaydetme
Aşağıdaki kod parçacığı, Outlook MSG dosyasını şablon olarak nasıl kaydedeceğinizi gösterir.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
try (MapiMessage mapi = new MapiMessage("test@from.to", "test@to.to", "template subject", "Template body")) {
mapi.saveAsTemplate(dataDir + "mapiToOft.msg");
}
Outlook MSG Dosyaları için Renk Kategorisi Ayarlama
Renk kategorisi, bir e-posta mesajını belirli bir önem seviyesine veya kategoriye işaretler. Microsoft Outlook, kullanıcıların e-postaları ayırt etmek için renk kategorileri atamasına izin verir. Renk kategorisini işlemek için şunu kullanın FollowUpManager. Aşağıdaki gibi işlevler içerir addCategory, removeCategory, clearCategories ve getCategories.
- addCategory alır MapiMessage ve renk kategori dizesi, örneğin "Purple Category" veya "Red Category" gibi argümanlar.
- removeCategory alır MapiMessage ve mesajdan kaldırılacak renk kategori dizesi.
- clearCategories mesajdan tüm renk kategorilerini kaldırmak için kullanılır.
- getCategories belirli bir mesajdan tüm renk kategorilerini almak için kullanılır.
Aşağıdaki örnek, aşağıda verilen görevleri yerine getirir:
- Bir renk kategorisi ekle.
- Başka bir renk kategorisi ekle.
- Tüm kategorilerin listesini al.
- Tüm kategorileri kaldır.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage msg = MapiMessage.fromFile(dataDir + "message.msg");
// Add Two category
FollowUpManager.addCategory(msg, "Purple Category");
FollowUpManager.addCategory(msg, "Red Category");
// Retrieve the list of available categories
IList categories = FollowUpManager.getCategories(msg);
// Remove the specified category and then Clear all categories
FollowUpManager.removeCategory(msg, "Red Category");
FollowUpManager.clearCategories(msg);
MSG dosyasından Takip Bilgilerine Erişme
Aspose.Email API, gönderilmiş veya alınmış bir mesajdan takip bilgilerine erişme yeteneği sağlar. Bir mesaj dosyasından Okuma, Teslim Alındı ve oy sonuçları bilgilerini alabilir.
Okuma ve Teslim Alındı Bilgilerini Alma
Aşağıdaki kod parçacığı, okuma ve teslim alındı bilgilerini nasıl alacağınızı gösterir.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage msg = MapiMessage.fromFile(dataDir + "message.msg");
for (MapiRecipient recipient : msg.getRecipients()) {
System.out.println("Recipient: " + recipient.getDisplayName());
// Get the PR_RECIPIENT_TRACKSTATUS_TIME_DELIVERY property
System.out.println("Delivery time: " + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_TRACKSTATUS_TIME_DELIVERY).getDateTime());
// Get the PR_RECIPIENT_TRACKSTATUS_TIME_READ property
System.out.println("Read time" + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_TRACKSTATUS_TIME_READ).getDateTime());
}
İletme ve Yanıt Mesajları Oluşturma
Aspose.Email API, iletme ve yanıt mesajları oluşturma ve biçimlendirme yeteneği sağlar. ReplyMessageBuilder ve ForwardMessageBuilder API sınıfları, yanıt ve iletme mesajlarını sırasıyla oluşturmak için kullanılır. Bir Yanıt veya İletme mesajı, … modlarından herhangi biri kullanılarak oluşturulabilir. OriginalMessageAdditionMode enum. Bu enum aşağıdaki değerlere sahiptir:
- OriginalMessageAdditionMode.None - Orijinal mesaj yanıt mesajına eklenmez.
- OriginalMessageAdditionMode.Attachment - Orijinal mesaj yanıt mesajına ek olarak eklenir
- OriginalMessageAdditionMode.Textpart - Orijinal mesaj yanıt mesajının gövdesinde bir metin olarak eklenir
Yanıt Mesajı Oluşturma
Aşağıdaki kod parçacığı, bir yanıt mesajı nasıl oluşturulacağını gösterir.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage originalMsg = MapiMessage.fromFile(dataDir + "message1.msg");
ReplyMessageBuilder builder = new ReplyMessageBuilder();
// Set ReplyMessageBuilder Properties
builder.setReplyAll(true);
builder.setAdditionMode(OriginalMessageAdditionMode.Textpart);
builder.setResponseText(
"<p><b>Dear Friend,</b></p> I want to do is introduce my co-author and co-teacher. <p><a href=\"www.google.com\">This is a first link</a></p><p><a href=\"www.google.com\">This is a second link</a></p>");
MapiMessage replyMsg = builder.buildResponse(originalMsg);
replyMsg.save(dataDir + "reply_out.msg");
İletme Mesajı Oluşturma
Aşağıdaki kod parçacığı, bir iletme mesajı nasıl oluşturulacağını gösterir.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage originalMsg = MapiMessage.fromFile(dataDir + "message1.msg");
ForwardMessageBuilder builder = new ForwardMessageBuilder();
builder.setAdditionMode(OriginalMessageAdditionMode.Textpart);
MapiMessage forwardMsg = builder.buildResponse(originalMsg);
forwardMsg.save(dataDir + "forward_out.msg");
Mesaj Dönüştürürken Boş Tarihleri Koru
MapiConversionOptions.setPreserveEmptyDates(boolean) mesaj dönüştürürken boş tarihlerin korunup korunmayacağını gösteren özellik. Bu API Aspose.Email 21.5’te bulunur. Aşağıdaki kod parçacığı boş tarihleri nasıl koruyacağınızı gösterir.
MailMessage mailMessage = MailMessage.load("message.eml");
System.out.println(mailMessage.getDate()); // zero date
MapiConversionOptions mco = MapiConversionOptions.getUnicodeFormat();
// keep empty dates when converting a message
mco.setPreserveEmptyDates(true);
MapiMessage mapiMessage = MapiMessage.fromMailMessage(mailMessage, mco);
System.out.println(mapiMessage.getClientSubmitTime()); // zero date
// check zero date
if (mapiMessage.getClientSubmitTime().equals(JavaHelper.ZERO_DATE))
System.out.println("ZERO DATE");