java使用邮箱发送邮件
时间: 2023-08-30 18:07:07 浏览: 101
Java 实现邮箱发送邮件
在Java中发送电子邮件可以使用JavaMail API。以下是一个简单的示例代码,演示如何使用JavaMail发送电子邮件:
首先,需要导入JavaMail和相关的依赖库。你可以从JavaMail官方网站下载它们,或者使用Maven/Gradle等构建工具进行引入。
```java
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class EmailSender {
public static void main(String[] args) {
// 邮件发送者的邮箱账号和密码
String senderEmail = "your_sender_email@example.com";
String senderPassword = "your_sender_password";
// 邮件接收者的邮箱地址
String recipientEmail = "recipient@example.com";
// 邮件主题和内容
String emailSubject = "Hello from JavaMail";
String emailContent = "This is a test email sent from JavaMail.";
// 配置发送邮件的属性
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.example.com"); // 邮件服务器主机名
props.put("mail.smtp.port", "587"); // 邮件服务器端口号
// 创建Session对象,并根据配置信息创建认证器
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, senderPassword);
}
});
try {
// 创建MimeMessage对象
Message message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(senderEmail));
// 设置收件人
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail));
// 设置邮件主题
message.setSubject(emailSubject);
// 设置邮件正文
message.setText(emailContent);
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
```
在代码中,你需要替换以下内容:
- `your_sender_email@example.com`:发送者的电子邮箱地址。
- `your_sender_password`:发送者的电子邮箱密码。
- `recipient@example.com`:接收者的电子邮箱地址。
- `smtp.example.com`:SMTP服务器主机名。根据你使用的电子邮箱提供商不同,主机名可能会有所不同。
请确保已经安装并正确配置了JavaMail API,以及正确填写了邮件发送和接收的相关信息。运行代码后,如果一切正常,你将看到输出信息"Email sent successfully.",表示邮件已成功发送。
这只是一个简单的示例,实际使用中可能需要更多的配置和处理,例如添加附件、HTML格式的邮件内容等。你可以根据自己的需求进行扩展和修改。
阅读全文