For sending email with attachment, JavaMail API provides some useful classes like BodyPart, MimeBodyPart etc.
| For better understanding of this example, learn the steps of sending email using JavaMail API first. |
| For sending the email using JavaMail API, you need to load the two jar files:
download these jar files (or) go to the Oracle site to download the latest version. |
Sending email with attachment using JavaMail API
There are total 7 steps for sending attachment with email. They are:
- Get the session object
- compose message
- create MimeBodyPart object and set your message text
- create new MimeBodyPart object and set DataHandler object to this object
- create Multipart object and add MimeBodyPart objects to this object
- set the multiplart object to the message object
- send message
Example of sending email with attachment in Java
- import java.util.*;
- import javax.mail.*;
- import javax.mail.internet.*;
- import javax.activation.*;
-
- class SendAttachment{
- public static void main(String [] args){
-
- String to="sonoojaiswal1987@gmail.com";
- final String user="sonoojaiswal@javatpoint.com";
- final String password="xxxxx";
-
-
- Properties properties = System.getProperties();
- properties.setProperty("mail.smtp.host", "mail.javatpoint.com");
- properties.put("mail.smtp.auth", "true");
-
- Session session = Session.getDefaultInstance(properties,
- new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(user,password);
- }
- });
-
-
- try{
- MimeMessage message = new MimeMessage(session);
- message.setFrom(new InternetAddress(user));
- message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
- message.setSubject("Message Aleart");
-
-
- BodyPart messageBodyPart1 = new MimeBodyPart();
- messageBodyPart1.setText("This is message body");
-
-
- MimeBodyPart messageBodyPart2 = new MimeBodyPart();
-
- String filename = "SendAttachment.java";
- DataSource source = new FileDataSource(filename);
- messageBodyPart2.setDataHandler(new DataHandler(source));
- messageBodyPart2.setFileName(filename);
-
-
-
- Multipart multipart = new MimeMultipart();
- multipart.addBodyPart(messageBodyPart1);
- multipart.addBodyPart(messageBodyPart2);
-
-
- message.setContent(multipart );
-
-
- Transport.send(message);
-
- System.out.println("message sent....");
- }catch (MessagingException ex) {ex.printStackTrace();}
- }
- }
As you can see in the above example, total 7 steps are followed to send email with attachment. Now run this program by :
| Load the jar file | c:\> set classpath=mail.jar;activation.jar;.; |
| compile the source file | c:\> javac SendAttachment.java |
| run by | c:\> java SendAttachment |
No comments:
Post a Comment