如何将 MimeMessage 发送到默认电子邮件客户端,以便在 JavaMail 中发送之前可以预览它?
我在一家非常官僚的公司工作,这是必须的。
如果消息总大小很小并且是纯文本,您可以调用MimeMessage.saveChanges https://javaee.github.io/javamail/docs/api/javax/mail/internet/MimeMessage.html#saveChanges--然后调用所有的get方法构建一个来自现有 MimeMessage 的 URI https://stackoverflow.com/questions/24752117/creating-an-email-in-java。然后使用java.awt.Desktop.mail(URI) http://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#mail(java.net.URI)启动电子邮件客户端的方法。
否则,你必须打电话MimeMessage.saveChanges https://javaee.github.io/javamail/docs/api/javax/mail/internet/MimeMessage.html#saveChanges--然后使用MimeMessage.writeTo https://javaee.github.io/javamail/docs/api/javax/mail/internet/MimeMessage.html#writeTo-java.io.OutputStream-将其另存为“.eml”文件系统。然后打开该文件java.awt.Desktop.open http://docs.oracle.com/javase/8/docs/api/java/awt/Desktop.html#open-java.io.File-启动电子邮件客户端。电子邮件客户端关闭后,您必须处理清理工作。
您还必须考虑将电子邮件保留在文件系统上的安全隐患。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)