以下是一个使用Java Mail API发送电子邮件的简洁示例。请注意,为了运行此代码,您需要在项目中包含JavaMail API的依赖项。
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmailExample {
public static void main(String[] args) {
// 发件人电子邮箱
final String from = "your-email@example.com";
// 发件人邮箱密码(如果是Gmail,可能需要生成应用专用密码)
final String password = "your-password";
// 指定发送邮件的主机为 smtp.example.com
String host = "smtp.example.com";
// 获取系统属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", "587"); // Gmail使用465或587端口
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true"); // 启用TLS
// 获取默认session对象
Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// Set From: header field
message.setFrom(new InternetAddress(from));
// Set To: header field
message.addRecipient(Message.RecipientType.TO, new InternetAddress("recipient-email@example.com"));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// 现在设置实际消息
message.setText("This is actual message");
// 发送消息
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
**注意**:
- 请将`your-email@example.com`、`your-password`和`recipient-email@example.com`替换为您自己的电子邮件地址、密码和收件人地址。
- 如果您的邮件服务器不是Gmail,请相应地更改`host`和端口号。
- 对于Gmail,如果您在尝试发送邮件时遇到登录问题,请确保您已经启用了“允许不够安全的应用”的访问权限(尽管不推荐这样做,因为它降低了安全性),或者更推荐使用应用专用密码。
- 确保您的Java项目已经包含了JavaMail API的依赖项。如果您使用的是Maven或Gradle,可以在项目的构建文件中添加相应的依赖。