【问题标题】:sending HTML as an attachment in Java/Spring在 Java/Spring 中将 HTML 作为附件发送
【发布时间】:2012-12-30 21:36:42
【问题描述】:

我有一个 HTML 文档,可以使用

 document.body.innerHTML

如何将此 HTML 附加到电子邮件中?我想在 java/Spring 中将此 HTML 文件作为附件发送

【问题讨论】:

  • 用这个值提交一个伪<form>,然后在请求处理程序中抓取它......
  • @lan 感谢您的评论,您能否用一些伪代码详细说明。
  • 好吧,假设你有一个<form id="main_form" action="" method="POST"></form>,在里面你有<input type="hidden" id="the_doc" name="the_doc" value="" />。当您准备好提交信息时,您可以使用document.getElementById("the_doc").value = document.body.innerHTML; document.getElementById("main_form").submit();。然后,在您的控制器中,您只需要让您的方法接受一个参数“the_doc”。这有意义吗?
  • 谢谢 lan,这就是我尝试的方法,但它在服务器端抛出异常,
  • 您能否准确解释/显示您在服务器上所做的事情(以及您的 Javascript/HTML)?抛出了什么异常?

标签: java javascript html email spring-mvc


【解决方案1】:

方法一:使用服务器

如果要将其发送到托管 HTML 文件的同一服务器,使用 ajax 调用非常容易。

例如,如果您使用 JQuery,则可以使用:

$.ajax({
  type: 'POST',//or 'GET' depending on how your server is listening
  url: 'the url to your server page',
  data: data
  dataType: 'html'
});

如果 HTML 是从浏览器的本地硬盘加载的,或者如果您想将 HTML 发送到主机,您应该寻找跨域 ajax 请求。

根据您的应用程序,您可能希望sanitize HTML 并将其与 Ajax 请求一起发送。

方法二:无服务器

如果您想在屏幕上创建一个链接,允许用户发送带有您指定正文的电子邮件,您可以使用带有mailto 的锚标记。请记住对文本进行编码:

$('<a href="mailto:myemail@myserver.com?subject=This+is+the+data&body='
+ encodeURI($( '#some-text' ).text())
+ '">Send</a>' );

Here is a JSfiddle for you to try.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多