带有脚本标签的Laravel电子邮件

时间:2018-06-21 15:33:48

标签: javascript php mysql laravel api

晚上好,这是我的laravel电子邮件刀片文件,我正在尝试通过地理编码将坐标转换为实际地址。当我将其发送到电子邮件(mailtrap.io)时,我认为脚本将被忽略,没有任何显示,只有一个空的DIV。我试图用此内容创建一个空白的index.html页面,只是手动填写坐标并且脚本可以工作。是的,我检查了{{$ task-> latitude}},{{$ task-> longitude}}是否有效,如果我将其写入DIV,则在接收电子邮件时会显示坐标。 1. Mailtraip.io出于安全原因会忽略脚本标签吗? 2.我的错误在哪里?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  <title>Email</title>
</head>
<body>

  <div id="emailOutput">

  </div>

  <script type="text/javascript">
    geocode();
    function geocode(){
      let location = 'lat:{{$task->latitude}}, lng:{{$task->longitude}}';
      axios.get('https://maps.googleapis.com/maps/api/geocode/json',{
        params:{
          address:location,
          key:'AIzaSyBqgKZ40pxXAigIXetiNjSqAGd8xtHLCJQ',
        }
      })
      .then(function (response) {
        let formattedAddress = response.data.results[0].formatted_address;
        let emailOutput =
         `
          <h1>Your <b>work</b> device has been successfully added to database.</h1>
          <p>Device ID: {{$task->deviceId}}</p>
          <p>Address: ${formattedAddress}</p>
        `;

        document.getElementById('emailOutput').innerHTML = emailOutput;
      })
      .catch(function (error) {
        console.log(error);
      });
    }
  </script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

您不会将可执行JavaScript放入服务器和邮件客户端。但是电子邮件确实支持链接,您始终可以链接到电子邮件中的内容。