Java实现发邮件带附件

流程图

flowchart TD
    Start --> 输入SMTP服务器地址
    输入SMTP服务器地址 --> 输入发件人邮箱
    输入发件人邮箱 --> 输入收件人邮箱
    输入收件人邮箱 --> 输入邮箱密码
    输入邮箱密码 --> 选择附件
    选择附件 --> 发送邮件
    发送邮件 --> End

步骤

步骤 操作
1 输入SMTP服务器地址
2 输入发件人邮箱
3 输入收件人邮箱
4 输入邮箱密码
5 选择附件
6 发送邮件

详细说明

1. 输入SMTP服务器地址

String host = "smtp.example.com"; // 替换为实际的SMTP服务器地址

2. 输入发件人邮箱

String from = "your_email@example.com"; // 替换为实际的发件人邮箱

3. 输入收件人邮箱

String to = "recipient@example.com"; // 替换为实际的收件人邮箱

4. 输入邮箱密码

String password = "your_password"; // 替换为实际的邮箱密码

5. 选择附件

MimeBodyPart attachment = new MimeBodyPart();
DataSource source = new FileDataSource("attachment.txt"); // 替换为实际的附件路径
attachment.setDataHandler(new DataHandler(source));
attachment.setFileName("attachment.txt");

6. 发送邮件

Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");

Session session = Session.getInstance(props, new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(from, password);
    }
});

try {
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject("Subject");
    message.setText("Hello, This is a test email!");

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(attachment);

    message.setContent(multipart);

    Transport.send(message);

    System.out.println("Email sent successfully!");

} catch (MessagingException e) {
    e.printStackTrace();
}

结尾

通过以上步骤,你可以使用Java实现发送带附件的邮件。这个过程可能看起来有些复杂,但只要按照步骤逐步操作,你将能够成功发送邮件。希望这篇文章对你有所帮助,祝你在编程的道路上越走越远!