package com.aspose.email.examples.email; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; import com.aspose.email.MailAddress; import com.aspose.email.MailMessage; import com.aspose.email.SaveOptions; import com.aspose.email.examples.Utils; public class EmailHeaders { public static void main(String[] args) { // The path to the resource directory. String dataDir = Utils.getSharedDataDir(EmailHeaders.class) + "email/"; // Set Email Headers setEmailHeaders(dataDir); // Get Decoded Header Value from HeaderCollection getDecodedHeaderValueFromHeaderCollection(dataDir); // Insert Header at Specific Location insertHeaderAtSpecificLocation(dataDir); // Extracting Email Headers extractingEmailHeaders(dataDir); } public static void setEmailHeaders(String dataDir) { // Create a new instance of MailMessage class MailMessage message = new MailMessage(); // Set subject of the message message.setSubject("New message created by Aspose.Email for Java"); // Set Html body message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>"); // Set sender information message.setFrom(new MailAddress("from@domain.com", "Sender Name", false)); // Add TO recipients message.getTo().addItem(new MailAddress("to@domain.com", "Recipient 1", false)); // Message subject message.setSubject("Customizing Email Headers"); // Specify Date Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); Date date = calendar.getTime(); message.setDate(date); // Specify XMailer message.setXMailer("Aspose.Email"); // Specify Secret Header message.getHeaders().add("secret-header", "mystery"); // Save message to disc message.save(dataDir + "SetEmailHeaders_out.msg", SaveOptions.getDefaultMsg()); } public static void getDecodedHeaderValueFromHeaderCollection(String dataDir) { MailMessage mail = MailMessage.load(dataDir + "test.eml"); String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic"); System.out.println(decodedValue); } public static void insertHeaderAtSpecificLocation(String dataDir) { // Insert Header at Specific Location MailMessage eml = MailMessage.load(dataDir + "test.eml"); eml.getHeaders().insert("Received", "Value"); } public static void extractingEmailHeaders(String dataDir) { //Create MailMessage instance by loading an EML file MailMessage message = MailMessage.load(dataDir + "test.eml"); System.out.println("Printing all Headers:\n\n"); //Print out all the headers for (int i=0; i< message.getHeaders().size(); i++) System.out.println(message.getHeaders().get(i)); } }