Home > Java > javaTutorial > How Can I Easily Send Emails from My Java Application Using Gmail, Yahoo, or Hotmail?

How Can I Easily Send Emails from My Java Application Using Gmail, Yahoo, or Hotmail?

Mary-Kate Olsen
Release: 2024-12-13 16:42:24
Original
278 people have browsed it

How Can I Easily Send Emails from My Java Application Using Gmail, Yahoo, or Hotmail?

Sending Emails from Java Applications: Simplifying Mail Distribution with GMail, Yahoo, or Hotmail

Challenge: Enabling email delivery from Java applications across various email providers.

JavaMail API:

As a crucial resource, download the JavaMail API to include the necessary jar files in your application's classpath. For comprehensive email handling, consider implementing this robust API.

GMail Example:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Main {

    // Replace with your GMail credentials
    private static String USER_NAME = "*****";
    private static String PASSWORD = "********";
    private static String RECIPIENT = "[email protected]";

    public static void main(String[] args) {
        String from = USER_NAME;
        String pass = PASSWORD;
        String[] to = { RECIPIENT }; // List of recipient email addresses
        String subject = "Java send mail example";
        String body = "Welcome to JavaMail!";

        sendFromGMail(from, pass, to, subject, body);
    }

    private static void sendFromGMail(String from, String pass, String[] to, String subject, String body) {
        // Set up SMTP configuration with GMail's parameters
        Properties props = System.getProperties();
        String host = "smtp.gmail.com";
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", pass);
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);
        MimeMessage message = new MimeMessage(session);

        try {
            // Set sender, recipient, subject, and body of the email
            message.setFrom(new InternetAddress(from));
            InternetAddress[] toAddress = new InternetAddress[to.length];

            for (int i = 0; i < to.length; i++) {
                toAddress[i] = new InternetAddress(to[i]);
            }

            for (int i = 0; i < toAddress.length; i++) {
                message.addRecipient(Message.RecipientType.TO, toAddress[i]);
            }

            message.setSubject(subject);
            message.setText(body);
            Transport transport = session.getTransport("smtp");
            transport.connect(host, from, pass);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        } catch (AddressException ae) {
            ae.printStackTrace();
        } catch (MessagingException me) {
            me.printStackTrace();
        }
    }
}
Copy after login

Additional Tips:

  • Customize the catch blocks to handle exceptions appropriately, including error messages and preventive measures.
  • Explore the JavaMail API documentation for further customization and advanced features.

The above is the detailed content of How Can I Easily Send Emails from My Java Application Using Gmail, Yahoo, or Hotmail?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template