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

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.

Interfacing Water Flow Sensor with Raspberry Pi 3 🚿

Interfacing Water Flow Sensor with Raspberry Pi 3 🚿 🎯 Objective To measure the flow rate of water using a Water Flow Sensor (YF-S201) and Raspberry Pi 3. Useful in smart irrigation and water management systems. 🧰 Components Required Component Quantity Raspberry Pi 3 1 YF-S201 Water Flow Sensor 1 10K Pull-down Resistor 1 Jumper Wires As required Breadboard 1 ⚡ Circuit Connections Sensor Pin Connect To Red (VCC) 5V (Raspberry Pi) Black (GND) GND (Raspberry Pi) Yellow (Pulse Out) GPIO18 (Pin 12) with pull-down resistor 🧠 Python Code import RPi.GPIO as GPIO import time FLOW_SENSOR = 18 pulse_count = 0 def countPulse(channel): global pulse_count pulse_count += 1 GPIO.setmode(GPIO.BCM) GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse) try: while True: pulse_count = 0 time.sleep(1) flow_rate = (pulse_count / 7.5) ...