JavaMail API を使用して電子メールを取得しています。メッセージのストリームを取得してから、反対側でストリームを電子メールに戻したいと思います。また、添付ファイル、送信先、送信者、本文などのプロパティを失いたくありません....
どうすればこれを達成できますか?
JavaMail API を使用して電子メールを取得しています。メッセージのストリームを取得してから、反対側でストリームを電子メールに戻したいと思います。また、添付ファイル、送信先、送信者、本文などのプロパティを失いたくありません....
どうすればこれを達成できますか?
わかりました...これを達成する方法を見つけることができました
を使用できます
.writeTo(アウト);
OutputStream に書き込み、InputStream を送信すると、最終的にこれを使用して再構築できます
Message receivedMail = new MimeMessage( session, inputStream );
問題が修正されました!
以下のサンプルコードを確認してください。
URLName url = new URLName("pop3","xxxx",123,"","user","password");
Session session = Session.getInstance(props, null);
Store store = new POP3SSLStore(session,url);
store.connect();
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message message[] = folder.getMessages();
for (int i=0; i <message.length;i++) {
Message message = messages[i];
//Get Message Properties
System.out.println("From : " + message.getFrom()[0]);
System.out.println("Subject : " + message.getSubject());
System.out.println("Sent Date : " + message.getSentDate());
//Get Input stream for each message
InputStream is = message.getInputStream();
.....
is.close();
}
folder.close(false);
store.close();
メッセージを逆方向に作成するには:
MimeMessage newMessage = new MimeMessage(session);
MimeMultipart mimeMultipart = new MimeMultipart();
MimeBodyPart attachment = new MimeBodyPart(is);
attachment.setHeader("Content-Type", "contentType");
mimeMultipart.addBodyPart(attachment);
newMessage.setContent(mimeMultipart);
newMessage.setFrom(InternetAddress.parse("fromAddress")[0]);
newMessage.setReplyTo(InternetAddress.parse("toAddress"));
newMessage.setSubject("subject");