Email 从我的本地计算机附加文件以发送cq/AEM中的邮件

Email 从我的本地计算机附加文件以发送cq/AEM中的邮件,email,aem,Email,Aem,我正在学习AEM,我正在研究一项要求,在该要求中,我能够发送电子邮件,但无法添加从我的机器浏览的附件 要求- 有一个HTML格式的表单,可以从中收集信息,还有一个浏览按钮,可以从中上传文件 文件上传后,应立即向电子邮件地址发送一封包含表单内容和附件的电子邮件 同时,通过POST请求,表单内容和附件应发送到JSON 通过电子邮件将内容发送给接收者和POST方法工作正常 有没有关于我如何在这里工作的建议 谢谢 在HTML中,您可以从输入框中获取类型为“file”的文件: 名称 在java中,您可

我正在学习AEM,我正在研究一项要求,在该要求中,我能够发送电子邮件,但无法添加从我的机器浏览的附件

要求-

有一个HTML格式的表单,可以从中收集信息,还有一个浏览按钮,可以从中上传文件

文件上传后,应立即向电子邮件地址发送一封包含表单内容和附件的电子邮件

同时,通过POST请求,表单内容和附件应发送到JSON

通过电子邮件将内容发送给接收者和POST方法工作正常

有没有关于我如何在这里工作的建议


谢谢

在HTML中,您可以从输入框中获取类型为“file”的文件:


名称
在java中,您可以通过以下方式获取此文件:

<form id="submitForm" action="/bin/servlets/submitForm" method="POST" novalidate="novalidate" enctype="multipart/form-data">
<label for="name">Name </label><input name="userName" type="text" class="fieldInner"  id="name" required>
<input name="file" value="Choose File" type="file" class="chooseFileInner" required/>
<input type="submit" id="applied" value="Submit"/>
</form>
RequestParameter attach = request.getRequestParameter("file");
InputStream ip = attach.getInputStream();
MailTemplate mailTemplate = MailTemplate.create(templatePath, session);
HtmlEmail email = mailTemplate.getEmail(StrLookup.mapLookup(new HashMap<String, String>(parameters)), HtmlEmail.class);
ByteArrayDataSource fileDS = new ByteArrayDataSource(ip, "application/pdf");
email.attach(fileDS, "application/pdf", "This is your attached file.");
messageGateway = messageGatewayService.getGateway(HtmlEmail.class);
messageGateway.send(email);
RequestParameter attach=request.getRequestParameter(“文件”);
InputStream ip=attach.getInputStream();
MailTemplate MailTemplate=MailTemplate.create(templatePath,session);
HtmlEmail email=mailTemplate.getEmail(StrLookup.mapLookup(新的HashMap(参数)),HtmlEmail.class);
ByteArrayDataSource文件=新的ByteArrayDataSource(ip,“应用程序/pdf”);
电子邮件。附件(文件“application/pdf”,“这是您的附件”);
messageGateway=messageGatewayService.getGateway(HtmlEmail.class);
messageGateway.send(电子邮件);
你也可以参考这个