问题描述
我正在使用 MimeMessage setContent 从我的应用程序发送 http 正文电子邮件。
MimeMessage message = new MimeMessage(sessionProps());
message.setSender(addressFrom);
message.setSubject(subject);
message.setContent(template,"text/html;charset=UTF-8");
此模板包含一个调用我的 rest api 的按钮(请参阅下面的代码)。
<body>
.....
<p>
<button type="button" onclick="userAction()">Click Me!</button>
</p>
<script type="text/javascript">
function userAction() {
const response = fetch(restApi);
const myJson = response.json(); //extract JSON from the http response
alert(myJson);
}
</script>
</body>
我的简单休息
@GetMapping("/hello/")
public void hello() {
System.out.println("hello world");
}
不幸的是,当我点击 gmail 正文电子邮件中的按钮时,什么也没有显示,有什么想法吗?谢谢
解决方法
我发现电子邮件客户端删除了 javascript。
恐怕这样的功能虽然理论上可行,但不会 鉴于大多数电子邮件客户端会删除或禁用,因此非常实用 JavaScript 以防止恶意代码执行或其他 安全问题。