Отправьте вывод HTML-файла в тело письма с помощью mailx

Постановка задачи:-

В настоящее время я отправляю электронное письмо с помощью mailx , прикрепляя html-файл в электронном письме. Но я хочу отправить электронное письмо с mailx команды 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 techgeeky@host.com techgeeky@host.com <<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 

Вы не можете сделать это с помощью текстовой / обычной электронной почты. Прямое внедрение этого html в сообщение электронной почты будет работать только в том случае, если клиентское ПО получателя электронной почты поддерживает JavaScript. Я не знаю, что делать.

У вас в основном есть два варианта. Во-первых, чтобы графическое программное обеспечение создало файл изображения, который может быть встроен в электронную почту HTML. Это изображение будет представлено в электронном письме по адресу, в котором оно встроено. Второй – включить ссылку в HTML-письмо, в котором будет представлен график. Для этого, вероятно, потребуется открыть браузер для получения фактического контента.

При первом варианте вам нужно будет создать сообщение электронной почты, используя Content-Type: multipart/related type="multipart/alternative" , включая как минимум две части, первый тип text/html и второй тип image/<whatevertypeyourimageis> . См. Раздел «Включение изображений» на этой странице для получения дополнительной информации о том, как это сделать.

При втором варианте существует два разных подхода. Первым является размещение общей страницы, которая принимает данные, закодированные в URL-адресе, и соответственно отображает страницу. Вторая – создать уникальную страницу для каждого набора данных.