Skip to main content

HOW TO SEND EMAIL WITH ATTACHMENT IN JAVA APPLICATION

Simple application to send an email using java application

Example :

  1. import javax.activation.DataHandler;
  2. import javax.activation.FileDataSource;
  3. import javax.mail.*;
  4. import javax.mail.internet.InternetAddress;
  5. import javax.mail.internet.MimeBodyPart;
  6. import javax.mail.internet.MimeMessage;
  7. import javax.mail.internet.MimeMultipart;
  8. import java.util.Date;
  9. import java.util.Properties;
  10.  
  11. public class EmailAttachmentDemo {
  12.      public static void main(String[] args) {
  13.         EmailAttachmentDemo demo = new EmailAttachmentDemo();
  14.         demo.sendEmail();
  15.     } 
  16.     public void sendEmail() {
  17.         String from = "email@example.com";
  18.         String to = "email@example.com";
  19.         String subject = "Important Message";
  20.         String bodyText = "This is a important message with attachment";
  21.         String filename = "jee-sample/src/main/resources/data.txt";
  22.  
  23.         Properties properties = new Properties();
  24.         properties.put("mail.smtp.host", "smtp.example.com");
  25.         properties.put("mail.smtp.port", "25");
  26.         Session session = Session.getDefaultInstance(properties, null);
  27.  
  28.         try {
  29.             MimeMessage message = new MimeMessage(session);
  30.             message.setFrom(new InternetAddress(from));
  31.             message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
  32.             message.setSubject(subject);
  33.             message.setSentDate(new Date());
  34.  
  35.             // Set the email message text.
  36.            
  37.             MimeBodyPart messagePart = new MimeBodyPart();
  38.             messagePart.setText(bodyText);
  39.  
  40.             // Set the email attachment file
  41.             
  42.             MimeBodyPart attachmentPart = new MimeBodyPart();
  43.             FileDataSource fileDataSource = new FileDataSource(filename) {
  44.                 @Override
  45.                 public String getContentType() {
  46.                     return "application/octet-stream";
  47.                 }
  48.             };
  49.             attachmentPart.setDataHandler(new DataHandler(fileDataSource));
  50.             attachmentPart.setFileName(fileDataSource.getName());
  51.  
  52.             Multipart multipart = new MimeMultipart();
  53.             multipart.addBodyPart(messagePart);
  54.             multipart.addBodyPart(attachmentPart);
  55.  
  56.             message.setContent(multipart);
  57.  
  58.             Transport.send(message);
  59.         } catch (MessagingException e) {
  60.             e.printStackTrace();
  61.         }
  62.     }
  63.  }

Description:

Step 1 - 9 : All files are simply imported.
Step 11: Class is defined.
Step 12 -15: Here object of class is created and "sendEmail()" is called.
Step 18 - 22: Variables themselves describe their role.
Step 16: Here starts the "sendEmail()"

Comments

Popular posts from this blog

TOUCH PLATE BASED DOOR BELL

Title:  Touch plate based door bell  Circuit:  Components: IC 555 Resistors: 1 M, 100k, 330 ohms Transistor: BC547  PN2222A Capacitor: 10n 1 Copper plate : as touch plate. A 6v battery An LED / Ic UM66 Description: This is the simple circuit for touch plate based security system. In this project what basically done is, circuit detects stray voltages produced by mains voltage and electrostatic built  up in the room.If sufficient static voltage is detected by the plate then chip will charge up. Transistor BC 547 or PN2222A is used basically to increase the sensitivity.In place of led just connect IC um 66(melody IC). Applications: In homes, of course. This can be specially used in places like hospitals, when patients need to call doctor by himself.

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ A load cell is a transducer that converts force (weight) into an electrical signal. The HX711 is a precision 24-bit analog-to-digital converter (ADC) designed for weigh scales. Today we’ll connect a load cell to Raspberry Pi 3 using the HX711 module. πŸ§ͺ πŸ”§ Components Required Component Quantity Raspberry Pi 3 1 Load Cell 1 HX711 Module 1 Jumper Wires 6 Breadboard (optional) 1 πŸ”Œ Pin Connections HX711 Pin Raspberry Pi Pin Pin Number VCC 5V Pin 2 GND Ground Pin 6 DT GPIO 5 Pin 29 SCK GPIO 6 Pin 31 Figure: Load Cell connected to Raspberry Pi 3 via HX711 πŸ’» Python Code from hx711 import HX711 import RPi.GPIO as GPIO import time hx = HX711(dout_pin=5, pd_sck_pin=6) hx.set_reading_format("MSB", "MSB") hx.set_reference_unit(1) hx.reset()...

Interfacing Sound Sensor with Raspberry Pi 3

πŸ”Ή Overview The KY-037 is a high-sensitivity sound detection sensor that can detect noise levels in the environment. It provides both analog and digital outputs. In this tutorial, we’ll interface the digital output of KY-037 with Raspberry Pi 3 Model B+ (without using an ADC like MCP3008) and detect sound events.