1

JavaMail API を使用して電子メールを取得しています。メッセージのストリームを取得してから、反対側でストリームを電子メールに戻したいと思います。また、添付ファイル、送信先、送信者、本文などのプロパティを失いたくありません....

どうすればこれを達成できますか?

4

2 に答える 2

2

わかりました...これを達成する方法を見つけることができました

を使用できます

.writeTo(アウト);

OutputStream に書き込み、InputStream を送信すると、最終的にこれを使用して再構築できます

Message receivedMail = new MimeMessage( session, inputStream );

問題が修正されました!

于 2012-10-25T15:52:27.547 に答える
1

以下のサンプルコードを確認してください。

  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");
于 2012-10-23T14:49:46.633 に答える