发送Java类对象作为电子邮件附件

时间:2019-07-25 16:27:18

标签: java email smtp

我正在使用Java的电子邮件类通过我们的SMTP服务器发送电子邮件。我想添加一个功能,如果用户重新提交表单,我会通过电子邮件向他们发送附件,其中包含他们正在提交的旧数据和新数据的副本,以便他们可以看到所做的更改。我对此流程没有任何问题,这是我想将它们添加到我的电子邮件时遇到的问题。我见过的大多数向Java电子邮件添加附件的解决方案都包括附加系统文件,但是这些对象是在运行时生成的,我不想仅为此功能而开始向系统添加文件,所以我想知道我是否可以专门添加对象作为附件。

1 个答案:

答案 0 :(得分:0)

如果要出于调试目的将对象输出到控制台,该怎么做?您会.ToString()进行迭代,是否会遍历属性并将其作为单独的字符串输出?

不要将对象视为object,而要考虑如何将其显示给用户。如果这涉及到很多带有描述符的行,以便它们知道数据的含义,则可以像这样输出它。如果他们是开发人员,并且希望将其视为JSON,则将其格式化后输出。

很有可能,您必须以某种方式遍历该对象,以将其作为字符串输出到主体本身中。

如果您确实要添加附件,则可以创建一个临时文件(使用随机名称以防止覆盖文件),发送带有附件的电子邮件,然后删除该文件。

我要说的是,也许有一种方法可以在内存中创建文件而不将其保存到磁盘中,您可以将其用作附件,但是Java中可能没有。

Create a File object in memory from a string in Java