给我一个java 代码 发送邮件 功能
时间: 2023-05-13 09:07:13 浏览: 63
以下是一个简单的 Java 代码示例,用于发送邮件:
```java
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public static void main(String[] args) {
// 收件人电子邮箱
String to = "recipient@example.com";
// 发件人电子邮箱
String from = "sender@example.com";
// 指定发送邮件的主机为 smtp.gmail.com
String host = "smtp.gmail.com";
// 获取系统属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.port", "587");
properties.setProperty("mail.smtp.starttls.enable", "true");
properties.setProperty("mail.smtp.auth", "true");
// 获取默认的 Session 对象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("sender@example.com", "password");
}
});
try {
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// 设置 From: 头部头字段
message.setFrom(new InternetAddress(from));
// 设置 To: 头部头字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置主题
message.setSubject("Java 发送邮件");
// 设置消息体
message.setText("这是一封由 Java 发送的测试邮件。");
// 发送消息
Transport.send(message);
System.out.println("邮件已发送。");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
```
请注意,您需要将以下变量替换为您自己的值:
- `to`:收件人的电子邮件地址
- `from`:发件人的电子邮件地址
- `host`:您的邮件服务器的主机名
- `getPasswordAuthentication()` 方法中的 `sender@example.com` 和 `password`:您的发件人电子邮件地址和密码
此外,您需要确保您的 Java 环境已经配置了 JavaMail API 和 Java Activation Framework。