91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java如何實現定期發送郵件功能

小億
118
2024-01-22 11:38:18
欄目: 編程語言

Java可以通過使用JavaMail API實現定期發送郵件的功能。下面是一個簡單的示例代碼:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class EmailScheduler {
    private Timer timer;

    public EmailScheduler() {
        timer = new Timer();
    }

    public void scheduleEmail(String recipient, String subject, String message, Date date) {
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                // 發送郵件
                sendEmail(recipient, subject, message);
            }
        }, date);
    }

    private void sendEmail(String recipient, String subject, String message) {
        String sender = "your-email@example.com"; // 發送者郵箱
        String password = "your-password"; // 發送者郵箱密碼

        Properties props = new Properties();
        props.setProperty("mail.smtp.host", "smtp.example.com"); // SMTP服務器地址
        props.setProperty("mail.smtp.auth", "true");

        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(sender, password);
            }
        });

        try {
            // 創建郵件消息
            MimeMessage mimeMessage = new MimeMessage(session);
            mimeMessage.setFrom(new InternetAddress(sender));
            mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
            mimeMessage.setSubject(subject);
            mimeMessage.setText(message);

            // 發送郵件
            Transport.send(mimeMessage);
            System.out.println("郵件已發送");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        EmailScheduler scheduler = new EmailScheduler();

        // 在指定日期時間發送郵件
        Calendar calendar = Calendar.getInstance();
        calendar.set(2022, Calendar.JANUARY, 1, 10, 0, 0);
        Date date = calendar.getTime();
        scheduler.scheduleEmail("recipient@example.com", "定期郵件", "這是一封定期發送的郵件", date);
    }
}

上述示例代碼使用了java.util.Timer類來定時發送郵件。scheduleEmail方法可以指定要發送郵件的收件人、主題、內容以及發送的日期時間。通過sendEmail方法使用JavaMail API發送郵件。

請注意替換代碼中的senderpasswordsmtp.example.com等信息為你自己的實際郵箱信息和SMTP服務器地址。

0
大方县| 义乌市| 双峰县| 天镇县| 邵阳县| 张家界市| 民勤县| 甘谷县| 宣威市| 郸城县| 西华县| 西乌珠穆沁旗| 南宫市| 长寿区| 五大连池市| 安泽县| 泰宁县| 隆回县| 水城县| 嘉荫县| 德阳市| 囊谦县| 塘沽区| 巴里| 雷州市| 申扎县| 宁蒗| 保定市| 财经| 砚山县| 潼南县| 廉江市| 东安县| 肥乡县| 中宁县| 澳门| 定结县| 雷州市| 香河县| 玉溪市| 肇东市|