Gmail 正文模板

问题描述

我正在使用 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 以防止恶意代码执行或其他 安全问题。

jQuery event not triggred in gmail

is JS supported by email clients