На самом деле, MimeMessage
не реализует Serializable
по дизайну , вы можете расширить MimeMessage
, чтобы сделать это, но вам не нужно, поскольку MimeMessage
имеет объекты, использующие writeTo (OutputStream) , чтобы вы могли сохранить содержимое как сообщение mime m RFC-822.
try (OutputStream str = Files.newOutputStream(Paths.get("message.eml"))) {
msg.writeTo(str);
}
Затем вы можете прочитать это сообщение для последующей обработки с помощью MimeMessage (сеанс , InputStream) с объектом сеанса.
Session session = Session.getInstance(props);
try (InputStream str = Files.newInputStream(Paths.get("message.eml"))) {
MimeMessage msg = new MimeMessage(session, str);
// Do something with the message, maybe send it.
Transport.send(msg);
}
Если вы используете Spring JavaMailSender Spring, вы также можете создавать новые сообщения mime через настроенный сеанс используя createMimeMessage (InputStream) , который использует настроенный сеанс.