my dog learned polymorphism*
The moose likes Blatant Advertising and the fly likes Manage Attachments in Existing & New Email Messages inside Java Apps Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Blatant Advertising
Bookmark "Manage Attachments in Existing & New Email Messages inside Java Apps " Watch "Manage Attachments in Existing & New Email Messages inside Java Apps " New topic
Author

Manage Attachments in Existing & New Email Messages inside Java Apps

sher azam
Ranch Hand

Joined: Jul 04, 2012
Posts: 60
This technical tip shows how to manage attachments in email message. There can be certain circumstances when the developers want to access and manipulate the Attachments of an Email Message. Aspose.Email Java API provides the handful of collections and methods to perform a task like Extraction of Attachments. Furthermore, using this API one can Add or Remove Attachments at run time. To demonstrate these features, we will load existing Email Messages from disk and access their Attachment Collection.

Steps to Extract Attachments from an existing Email Message

Please perform the following sequence of steps to save the Attachments from existing Messages:* Create an instance of MailMessage class.* Load the existing Email Message using the load() method exposed by MailMessage class and by specifying the correct MessageFormat.* Create an instance of AttachmentCollection class and fill it with Attachments from the instance of MailMessage using getAttachments() method.* Iterate over the AttachmentCollection.# Create an instance of Attachment class and fill it with indexed value from AttachmentCollection using get() method.# Save the attachment to disk using the save() method exposed by Attachment class.

Adding Attachments to a New Email Message using Aspose.Email for Java 
[Java]

//Create an instance of MailMessage class

MailMessage message = new MailMessage();


//From

message.setFrom(new MailAddress("sender@sender.com"));


//to whom

message.getTo().add(new MailAddress("receiver@gmail.com"));


//Adding 1st attachment

//Create an instance of Attachment class

Attachment attachment;


//Load an attachment

attachment = new Attachment("1.txt");


//Add attachment in instance of MailMessage class

message.getAttachments().add(attachment);


//Add 2nd Attachment

message.getAttachments().add(new Attachment("1.jpg"));


//Add 3rd Attachment

message.getAttachments().add(new Attachment("1.doc"));


//Add 4th Attachment

message.getAttachments().add(new Attachment("1.rar"));


//Add 5th Attachment

message.getAttachments().add(new Attachment("1.pdf"));


//Save message to disc


message.save("output.msg",MessageFormat.getMsg());


Extract Attachments from an existing Email Message


public static void main(String[] args)

{

    // Base folder for reading and writing files

    String strBaseFolder = "D:\\Data\\Aspose\\resources\\";


    //Initialize and Load an existing EML file by specifying the MessageFormat

    MailMessage msg = MailMessage.load(strBaseFolder + "AnEmail.eml", MessageFormat.getEml());


    //Initialize AttachmentCollection object with MailMessage Attachments

    AttachmentCollection attachments =  msg.getAttachments();


    //Iterate over the AttachmentCollection

    for(int index = 0; index < attachments.size(); index++)

    {

        //Initialize Attachment object and Get the indexed Attachment reference

        Attachment attachment = (Attachment) attachments.get(index);

        //Display Attachment Name

        System.out.println(attachment.getName());

        //Save Attachment to disk

        attachment.save(strBaseFolder + "attachment_"+ attachment.getName());

    }

}


Add or Remove Attachments from an existing Email Message


public static void main(String[] args)

{

    // Base folder for reading and writing files

    String strBaseFolder = "D:\\Data\\Aspose\\resources\\";


    //Initialize and Load an existing EML file by specifying the MessageFormat

    MailMessage message = MailMessage.load(strBaseFolder + "AnEmail.eml", MessageFormat.getEml());


    //Initialize AttachmentCollection object with MailMessage Attachments

    AttachmentCollection attachments =  message.getAttachments();

    System.out.println("Attachment Count: " + attachments.size());


    //Check if AttachmentCollection size is greater than 0

    if(attachments.size() > 0)

    {

        //Remove Attachment from index location 0

        attachments.remove(0);

        System.out.println("Attachment Count: " + attachments.size());

    }


    //Add a PDF file as Attachment to the message

    message.addAttachment(new Attachment(strBaseFolder + "Blank.PDF"));

    System.out.println("Attachment Count: " + attachments.size());


    //Save the Email message to disk by specifying the EML MailMessageSaveType

    message.save(strBaseFolder + "message.eml", MailMessageSaveType.getEmlFormat());


}

Overview: Aspose.Email for Java

Aspose.Email for Java is a Non-Graphical Java component that enables Java applications to read and write MS Outlook MSG files from within a Java application without using MS Outlook. It enables developers to create new MSG file from scratch, update an existing MSG file, read Outlook MSG file & get its properties like subject, body, recipients in to, cc and bcc, adding or removing attachment, sender information & MAPI properties.  Aspose.Email can be used with Web as well as Desktop Application.


More about Aspose.Email for Java



Contact Information


Suite 119, 272 Victoria Avenue

Chatswood, NSW, 2067

Australia

Aspose - Your File Format Experts

sales@aspose.com


Phone: 888.277.6734

Fax: 866.810.9465
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Manage Attachments in Existing & New Email Messages inside Java Apps