This tutorial explains how to send email with attachment in blackberry. Before sending email, make sure that your blackberry device is configured with mail application.
import net.rim.blackberry.api.mail.Address; import net.rim.blackberry.api.mail.Folder; import net.rim.blackberry.api.mail.Message; import net.rim.blackberry.api.mail.Multipart; import net.rim.blackberry.api.mail.Session; import net.rim.blackberry.api.mail.SupportedAttachmentPart; import net.rim.blackberry.api.mail.TextBodyPart; import net.rim.blackberry.api.mail.Transport; import net.rim.device.api.ui.Field; import net.rim.device.api.ui.FieldChangeListener; import net.rim.device.api.ui.Manager; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.component.ButtonField; import net.rim.device.api.ui.component.Dialog; import net.rim.device.api.ui.component.EditField; import net.rim.device.api.ui.component.LabelField; import net.rim.device.api.ui.component.SeparatorField; import net.rim.device.api.ui.container.HorizontalFieldManager; import net.rim.device.api.ui.container.PopupScreen; import net.rim.device.api.ui.container.VerticalFieldManager; public class MailDetailsPopup extends PopupScreen implements FieldChangeListener { private VerticalFieldManager verticalFieldManager = null; private ButtonField send = null; private ButtonField cancel = null; private EditField toAddress = null; private EditField quoteName = null; //private EditField subject = null; private EditField msg = null; public MailDetailsPopup() { super(new VerticalFieldManager(), Field.FOCUSABLE); verticalFieldManager = new VerticalFieldManager (Manager.VERTICAL_SCROLL); toAddress = new EditField(); verticalFieldManager.add(new LabelField("To:")); verticalFieldManager.add(new SeparatorField()); verticalFieldManager.add(toAddress); quoteName = new EditField(null,"",50,0); verticalFieldManager.add(new LabelField("Quote Name:")); verticalFieldManager.add(new SeparatorField()); verticalFieldManager.add(quoteName); msg = new EditField(); verticalFieldManager.add(new LabelField("Message:")); verticalFieldManager.add(new SeparatorField()); verticalFieldManager.add(msg); HorizontalFieldManager btnMgr = new HorizontalFieldManager(Manager.FIELD_HCENTER); cancel = new ButtonField("Cancel"); send = new ButtonField("Send"); cancel.setChangeListener(this); send.setChangeListener(this); btnMgr.add(cancel); btnMgr.add(send); verticalFieldManager.add(btnMgr); add(verticalFieldManager); } public void fieldChanged(Field field, int arg1) { if(field == cancel){ UiApplication.getUiApplication().popScreen( UiApplication.getUiApplication().getActiveScreen()); } else if(field == send){ new Thread(new Runnable() { public void run() { sendMail(); } private void sendMail() { Multipart mp = new Multipart(); //data for the content of the file String fileData = getHTML(); String email = toAddress.getText(); String messageData = msg.getText(); String subject = quoteName.getText(); //create the file SupportedAttachmentPart sap = new SupportedAttachmentPart(mp,"text/html", subject+".html", fileData.getBytes()); TextBodyPart tbp = new TextBodyPart(mp, messageData); //add the file to the multi part mp.addBodyPart(tbp); mp.addBodyPart(sap); //create a message in the sent items folder Folder folders[] = Session.getDefaultInstance().getStore().list(Folder.SENT); Message message = new Message(folders[0]); message.setSubject(subject); //add recipients to the message and send try { Address toAdd = new Address(email,email); Address toAdds[] = new Address[1]; toAdds[0] = toAdd; message.addRecipients(Message.RecipientType.TO,toAdds); message.setContent(mp); Transport.send(message); } catch (Exception e) { Dialog.inform(e.toString()); } } private String getHTML() { String str = "sample It is sexy. "; return str; } }).start(); UiApplication.getUiApplication().popScreen( UiApplication.getUiApplication().getActiveScreen()); } } }