We posted earlier how send email using java email api.
Here is example of sending email in plain text and html format in same email.
//get mail session Properties props = new Properties(); props.put("mail.smtp.host", "localhost"); Session session = session.getDefaultInstance(props); // create the messge. MimeMessage mimeMessage = new MimeMessage(session); MimeMultipart rootMixedMultipart = new MimeMultipart("mixed"); mimeMessage.setContent(rootMixedMultipart); MimeMultipart nestedRelatedMultipart = new MimeMultipart("related"); MimeBodyPart relatedBodyPart = new MimeBodyPart(); relatedBodyPart.setContent(nestedRelatedMultipart); rootMixedMultipart.addBodyPart(relatedBodyPart); MimeMultipart messageBody = new MimeMultipart("alternative"); MimeBodyPart bodyPart = null; for (int i = 0; i < nestedRelatedMultipart.getCount(); i++) { BodyPart bp = nestedRelatedMultipart.getBodyPart(i); if (bp.getFileName() == null) { bodyPart = (MimeBodyPart) bp; } } if (bodyPart == null) { MimeBodyPart mimeBodyPart = new MimeBodyPart(); nestedRelatedMultipart.addBodyPart(mimeBodyPart); bodyPart = mimeBodyPart; } bodyPart.setContent(messageBody, "text/alternative"); // Create the plain text part of the message. MimeBodyPart plainTextPart = new MimeBodyPart(); plainTextPart.setText("This is plain text message", "UTF-8"); messageBody.addBodyPart(plainTextPart); // Create the HTML text part of the message. MimeBodyPart htmlTextPart = new MimeBodyPart(); htmlTextPart.setContent("<h1>This is plain HTML message", "text/html;charset=UTF-8"); messageBody.addBodyPart(htmlTextPart); mimeMessage.setReplyTo(new InternetAddress[]{new InternetAddress("[email protected]")}); mimeMessage.setFrom(new InternetAddress("[email protected]")); mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]")); mimeMessage.setSentDate(new Date()); mimeMessage.setSubject("Mixed message"); Transport.send(mimeMessage);