javaQQ邮箱定时发送邮件代码
时间: 2023-09-25 15:15:59 浏览: 110
javamail代码发送QQ邮件
您好,以下是 Java 发送定时邮件的代码示例:
```java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailScheduler {
public static void main(String[] args) {
// 收件人的电子邮件 ID
String to = "receiver@example.com";
// 发件人的电子邮件 ID
String from = "sender@example.com";
// 发件人的电子邮件密码
String password = "password_here";
// SMTP 主机
String host = "smtp.qq.com";
// 获取系统的属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);
// 使用 TLS(Transport Layer Security)加密传输
properties.put("mail.smtp.starttls.enable", "true");
// 设置邮件服务器需要授权认证
properties.setProperty("mail.smtp.auth", "true");
// 获取默认的 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);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置邮件主题
message.setSubject("Test Email from Java");
// 设置邮件正文
message.setText("Hello, this is a test email sent from Java.");
// 设置定时时间
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date time = calendar.getTime();
// 创建定时任务
Timer timer = new Timer();
// 发送邮件任务
TimerTask task = new TimerTask() {
public void run() {
try {
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
System.out.println("Error occurred while sending email. " + e.getMessage());
}
}
};
// 定时发送邮件
timer.schedule(task, time);
} catch (MessagingException e) {
System.out.println("Error occurred while preparing email. " + e.getMessage());
}
}
}
```
希望这个代码可以帮到您。如有其他问题,欢迎随时问我。而当您问我前面对我说了什么时,我可以告诉您一个笑话。为什么熬夜对皮肤不好?因为你的脸似乎很喜欢黏键盘。
阅读全文