search
HomeJavajavaTutorialJava Email Sending Guide: Easy Getting Started and Practical Demonstrations

Java Email Sending Guide: Easy Getting Started and Practical Demonstrations

Dec 27, 2023 am 09:17 AM
Example demonstrationGetting Started Tutorialjava email sending

Java Email Sending Guide: Easy Getting Started and Practical Demonstrations

Java Email Sending Tutorial: Quick Start and Example Demonstration

In recent years, with the popularity and development of the Internet, email has become an indispensable part of people's daily life and work. A missing part. Sending emails through the Java programming language can not only achieve fast and efficient email sending, but also greatly improve work efficiency through automation. This article will introduce how to use the JavaMail library to send emails in Java and demonstrate it through specific code examples.

Step One: Import and Configuration of JavaMail Library
First, you need to import the JavaMail library. Importing can be achieved by adding the following dependencies to the project's Maven configuration file (pom.xml):

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.6.2</version>
</dependency>

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>

Step 2: Create a JavaMail Session instance
Email sending needs to be configured through a JavaMail Session instance and management, you can create a Session instance by using the username and password of the SMTP server. The sample code is as follows:

import java.util.Properties;
import javax.mail.Session;

Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", "smtp.example.com");
properties.setProperty("mail.smtp.port", "587");
properties.setProperty("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(properties);

In the above code, you need to replace smtp.example.com with the real SMTP server address, and you can also set the port number of the SMTP server (the default is 25 ) and whether authentication is required.

Step 3: Create an email message
In JavaMail, you can use the javax.mail.internet.MimeMessage class to create an email message. The sample code is as follows:

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

Message message = new MimeMessage(session);

try {
    message.setFrom(new InternetAddress("sender@example.com"));
    message.setRecipient(Message.RecipientType.TO, new InternetAddress("recipient@example.com"));
    message.setSubject("Hello from JavaMail");
    message.setText("This is a test email sent from JavaMail.");
} catch (AddressException e) {
    e.printStackTrace();
} catch (MessagingException e) {
    e.printStackTrace();
}

In the above code, sender@example.com and recipient@example.com need to be replaced with the real sender and recipient The sender’s email address.

Step 4: Send email
The last step is to send email through the created JavaMail Session instance. The sample code is as follows:

import javax.mail.Transport;

try {
    Transport.send(message);
    System.out.println("Email sent successfully!");
} catch (MessagingException e) {
    e.printStackTrace();
}

Run the above code. If everything goes well, the console will print out the message "Email sent successfully!", indicating that the email was sent successfully.

In summary, through the above steps and sample code, we can quickly get started and implement using the JavaMail library to send emails. Of course, in addition to basic email sending, JavaMail also supports more advanced functions, such as attachment sending, HTML format emails, etc. In practical applications, we can further expand and optimize the email sending function according to our own needs.

I hope this article can be helpful to beginners and guide everyone into the magical world of Java email sending!

The above is the detailed content of Java Email Sending Guide: Easy Getting Started and Practical Demonstrations. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
Java compilation error: How do package declaration and access permissions change after moving the class file?Java compilation error: How do package declaration and access permissions change after moving the class file?Apr 19, 2025 pm 07:12 PM

Packages and Directories in Java: The logic behind compiler errors In Java development, you often encounter problems with packages and directories. This article will explore Java in depth...

Is JWT suitable for dynamic permission change scenarios?Is JWT suitable for dynamic permission change scenarios?Apr 19, 2025 pm 07:06 PM

JWT and Session Choice: Tradeoffs under Dynamic Permission Changes Many Beginners on JWT and Session...

How to properly configure apple-app-site-association file in pagoda nginx to avoid 404 errors?How to properly configure apple-app-site-association file in pagoda nginx to avoid 404 errors?Apr 19, 2025 pm 07:03 PM

How to correctly configure apple-app-site-association file in Baota nginx? Recently, the company's iOS department sent an apple-app-site-association file and...

What are the differences in the classification and implementation methods of the two consistency consensus algorithms?What are the differences in the classification and implementation methods of the two consistency consensus algorithms?Apr 19, 2025 pm 07:00 PM

How to understand the classification and implementation methods of two consistency consensus algorithms? At the protocol level, there has been no new members in the selection of consistency algorithms for many years. ...

What is the difference between IS TRUE and =True query conditions in MySQL?What is the difference between IS TRUE and =True query conditions in MySQL?Apr 19, 2025 pm 06:54 PM

The difference between ISTRUE and =True query conditions in MySQL In MySQL database, when processing Boolean values ​​(Booleans), ISTRUE and =TRUE...

How to avoid data overwriting and style loss of merged cells when using EasyExcel for template filling?How to avoid data overwriting and style loss of merged cells when using EasyExcel for template filling?Apr 19, 2025 pm 06:51 PM

How to avoid data overwriting and style loss of merged cells when using EasyExcel for template filling? Using EasyExcel for Excel...

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment