邮件转发功能
转发功能的描述:
主题的样式: 转发: + 原主题
邮件内容:
--------原始邮件-------
发件人:
发送时间:
收件人:
主题:
邮件内容
有附件的话下面会添加附件。
获取用户的邮件然后进行转发,假设获取用户的第一条邮件,代码实现如下:部分代码需要在先前的博文能够查找到。
https://blog.csdn.net/xiao__jia__jia/article/details/83684462
ForwardMessage.java
package com.hstc.bean;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.Date;
public class ForwardMessage {
public static void main(String [] args) throws Exception{
String host = "localhost";
String username = "panjia";
String password = "panjia";
// 2、读取邮件夹
Folder folder = POP3Help.getFolder(host, username,password );
// 获取邮件夹中第1封邮件信息
Message[] messages = new Message[0];
try {
messages = folder.getMessages();
} catch (MessagingException e) {
e.printStackTrace();
}
if (messages.length <= 0) {
return;
}
Message message = messages[0];
// 打印邮件关键信息
String from = InternetAddress.toString(message.getFrom());
if (from != null) {
System.out.println("From: " + from);
}
String replyTo = InternetAddress.toString(message.getReplyTo());
if (replyTo != null) {
System.out.println("Reply-to: " + replyTo);
}
String to = InternetAddress.toString(message.getRecipients(Message.RecipientType.TO));
if (to != null) {
System.out.println("To: " + to);
}
String subject = message.getSubject();
if (subject != null) {
System.out.println("Subject: " + subject);
}
Date sent = message.getSentDate();
if (sent != null) {
System.out.println("Sent: " + sent);
}
// 设置转发邮件信息头
Session session = SMTPHelp.createSession();
Message forward = new MimeMessage(session);
forward.setFrom(new InternetAddress(from));
forward.setRecipient(Message.RecipientType.TO, new InternetAddress(replyTo));
forward.setSubject("Fwd: " + message.getSubject());
// 设置转发邮件内容
MimeBodyPart bodyPart = new MimeBodyPart();
bodyPart.setContent(message, "message/rfc822");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(bodyPart);
forward.setContent(multipart);
forward.saveChanges();
Transport transport = session.getTransport();
transport.connect(host, username, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();
folder.close(false);
System.out.println("message forwarded successfully....");
}
}