使用 mailx 在电子邮件正文中发送 HTML 文件的输出

使用 mailx 在电子邮件正文中发送 HTML 文件的输出

问题陈述:-

mailx目前我正在通过在电子邮件中附加 html 文件来发送电子邮件。但我想使用命令发送电子邮件,mailx而不是在电子邮件中附加 ,我想在电子邮件正文中html file显示结果。html file

下面是我用来发送电子邮件的脚本,其中包含电子邮件正文和attaching chart.html file电子邮件中的一些内容。在instead of attaching html file电子邮件中,我想展示output of html file within an email body.任何人都可以向我展示以下脚本的示例,我需要进行哪些更改才能完成此任务?

mailx -s "LIP for $DATE_YEST_FORMAT1" -r [email protected] [email protected] <<EOF

Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`

Total Items Missingo: `echo $QUERY1 | awk '{print $2}'`

Error Percentage: $QUERY2

`uuencode /tmp/chart.html chart.html`

EOF

这是我chart.html file绘制的图表 - 所以我需要在电子邮件正文中显示该图表。

<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      // Load the Visualization API and the piechart package.
      google.load('visualization', '1.0', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Title');
        data.addColumn('number', 'Value');
        data.addRows([
          ['No Error Percentage', $NOERROR],
             ['Error Percentage', $ERROR]
        ]);

        // Set chart options
        var options = {'title':'LIP Data Quality Report',
                       'width':700,
                       'height':600};

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>

  <body>
    <!--Div that will hold the pie chart-->
    <div id="chart_div" style="width:900px; height: 800px;"></div>
  </body>
</html>

任何帮助将不胜感激。我正在跑步SunOS

bash-3.00$ uname -a
SunOS lvsaishdc3in0001 5.10 Generic_142901-02 i86pc i386 i86pc

答案1

您无法通过文本/普通电子邮件来做到这一点。仅当接收电子邮件客户端软件支持 JavaScript 时,才能将该 html 直接嵌入到电子邮件中。我不知道有任何这样做。

你基本上有两个选择。第一个是让绘图软件生成可以嵌入 HTML 电子邮件中的图像文件。该图像将显示在电子邮件中嵌入的位置。第二种方法是在 HTML 电子邮件中包含一个用于显示图表的链接。这可能需要打开浏览器才能获取实际内容。

使用第一个选项,您必须使用 构建电子邮件Content-Type: multipart/related type="multipart/alternative",包括至少两个部分,第一个类型text/html和第二个类型image/<whatevertypeyourimageis>。请参阅“包括图像”部分有关如何操作的更多信息。

对于第二种选择,有两种不同的方法。第一种方法是建立一个通用页面,该页面接受 URL 中编码的数据并相应地呈现页面。第二个是为每个数据集建立一个唯一的页面。

相关内容