📅  最后修改于: 2023-12-03 15:01:34.831000             🧑  作者: Mango
在Java中实现发送电子邮件功能,可以通过使用JavaMail
库来实现。JavaMail
库是一个用于发送和接收电子邮件的Java标准扩展。这个库提供了很多上层次的API来简化电子邮件的收发过程。
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
在发送电子邮件时,需要准备以下信息:
在准备这些信息的时候,需要注意以下信息:
编写一个邮件工具类,该类将负责设置邮件相关信息并发送邮件。
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class EmailUtil {
private static final String EMAIL_SERVER = "smtp.163.com"; // SMTP服务器地址
private static final int EMAIL_SERVER_PORT = 25; // SMTP服务器端口号
private static final String EMAIL_USERNAME = "your_email_address"; // 发件人用户名
private static final String EMAIL_PASSWORD = "your_email_password"; // 发件人密码
/**
* 发送邮件
*
* @param toEmail 收件人邮箱,多个邮箱地址之间以逗号分隔
* @param subject 邮件主题
* @param body 邮件正文
* @throws Exception
*/
public static void sendEmail(String toEmail, String subject, String body) throws Exception {
// 创建邮件会话
Properties props = System.getProperties();
props.put("mail.smtp.host", EMAIL_SERVER);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", EMAIL_SERVER_PORT);
Session mailSession = Session.getDefaultInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(EMAIL_USERNAME, EMAIL_PASSWORD);
}
});
// 创建邮件
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(EMAIL_USERNAME));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
message.setSubject(subject);
message.setContent(body, "text/html;charset=utf-8");
// 发送邮件
Transport.send(message);
}
}
使用以下代码可以发送一封电子邮件:
// 收件人邮箱
String toEmail = "example1@example.com,example2@example.com";
// 邮件主题
String subject = "Hello World";
// 邮件正文
String body = "这是一封测试邮件";
EmailUtil.sendEmail(toEmail, subject, body);
这段代码会向example1@example.com
和example2@example.com
发送一封主题为Hello World
,正文为这是一封测试邮件
的电子邮件。
在Java中实现发送电子邮件功能,可以使用JavaMail
库。该库提供了简易的API,能够简化我们发送邮件的流程。此外,在发送邮件时,需要配置必要的信息,包括邮件服务器地址、用户名、密码等。在使用JavaMail
库时,我们需要考虑到JavaMail兼容性问题,以及授权码的使用问题。