【问题标题】:Sending attachments as an email from a form - NOT from local files从表单以电子邮件形式发送附件 - 而不是从本地文件
【发布时间】:2018-01-30 13:56:02
【问题描述】:

我创建了一个 HTML 电子邮件表单,允许用户输入收件人、主题、消息、内容和附件,但是我无法获取要发送的附件。 我在网上进行了研究,发现了这段代码的许多变体:

     messageBodyPart = new MimeBodyPart();
     String filename = "/home/manisha/file.txt";
     DataSource source = new FileDataSource(filename);
     messageBodyPart.setDataHandler(new DataHandler(source));
     messageBodyPart.setFileName(filename);
     multipart.addBodyPart(messageBodyPart);

但是有没有办法将附件输入发送到表单中,而不是在代码中将文件路径添加到文件中?

谢谢

【问题讨论】:

    标签: jakarta-mail attachment


    【解决方案1】:

    首先,需要将文件从浏览器上传到服务器,使用html格式。根据您用于管理上传数据的内容,您可以将文件数据存储在内存中或服务器上的文件中。如果将其存储在内存中,则可以在上面的代码中使用ByteArrayDataSource 而不是 FileDataSource。

    【讨论】:

    • 更改“数据源源 = 新文件数据源(文件名);”到'ByteArrayDataSource source = new ByteArrayDataSource(filename);'导致我的代码出错。而且我不知道要设置什么String filename =“”?您能提供任何进一步的建议吗?
    • 什么错误?您是否阅读过 ByteArrayDataSource 的 javadocs 以了解如何使用它?
    猜你喜欢
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多