【问题标题】:email from mailx to outlook , html file view corrupted从 mailx 到 Outlook 的电子邮件,html 文件视图损坏
【发布时间】:2011-05-15 06:13:10
【问题描述】:

问题是当通过 mailx 将 html 文件作为附件发送到 Outlook 时,文件的格式保持良好(通过 Internet Explorer 打开)但是当我将其作为正文发送到邮件中时(在 Outlook 中打开)然后展望 2007 年视图的格式变化。如何避免?

我使用两个函数从日志文件创建 htlm 文件,解析器函数正在读取日志文件,因此它正在创建一个 .html 文件,然后我使用下面定义的函数发送邮件来发送Outlook 中的邮件。

我的功能是

 parser()
{

export Staglog=./StagingTool1.7.4.log
export Staglog_Html=./StagingTool1.7.4.log.html
rm -f $Staglog_Html

echo "<html>" >> $Staglog_Html
echo "<head>" >> $Staglog_Html
echo "<style type="text/css">" >> $Staglog_Html
    echo ".font_orange_bold_large" >> $Staglog_Html
        echo "{" >> $Staglog_Html
        echo "color: #FF9900;" >> $Staglog_Html
        echo "font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;" >> $Staglog_Html
        echo "font-size: 17px;" >> $Staglog_Html
        echo "font-style: normal;" >> $Staglog_Html
        echo "font-weight: bold;" >> $Staglog_Html
        echo "text-align: center;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
    echo ".table_heading_darkblue_white_center" >> $Staglog_Html
        echo "{" >> $Staglog_Html
        echo "background-color: #256B9C;" >> $Staglog_Html
        echo "color: #FFFFFF;" >> $Staglog_Html
        echo "font-family: Arial, Helvetica, sans-serif;" >> $Staglog_Html
        echo "font-size: 12px;" >> $Staglog_Html
        echo "font-weight: bold;" >> $Staglog_Html
        echo "text-align: center;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
        echo ".table_cell_grey" >> $Staglog_Html
        echo "{" >> $Staglog_Html
        echo "background-color: #6DA2D7;" >> $Staglog_Html
        echo "color: #FFFFFF;" >> $Staglog_Html
        echo "font-family: Arial, Helvetica, sans-serif;" >> $Staglog_Html
        echo "font-size: 12px;" >> $Staglog_Html
        echo "font-weight: bold;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
        echo ".font_white_bold_normal" >> $Staglog_Html
        echo "{" >> $Staglog_Html
        echo "color: #FFFFFF;" >> $Staglog_Html
        echo "font-family: Verdana, Arial, Helvetica, sans-serif;" >> $Staglog_Html
        echo "font-size: 11px;" >> $Staglog_Html
        echo "font-style: normal;" >> $Staglog_Html
        echo "font-weight: bold;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
        echo ".font_normal" >> $Staglog_Html
        echo "{" >> $Staglog_Html
        echo "color: #000000;" >> $Staglog_Html
        echo "font-family: Verdana, Arial, Helvetica, sans-serif;" >> $Staglog_Html
        echo "font-size: 12px;" >> $Staglog_Html
        echo "font-style: normal;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
         echo "</style>" >> $Staglog_Html
        echo "</head>" >> $Staglog_Html

echo "<body><table width=90% border=0 cellspacing=0 cellpadding=3 align=center>" >> $Staglog_Html
echo "<tr><td colspan=2><font face=verdana size=5 color=#999999>amdocs | </font><font face=verdana size=5>TELUS</font></td></
tr>" >> $Staglog_Html
echo "<tr bgcolor=#6DA2D7><td colspan=2 height=13></td></tr>" >> $Staglog_Html
echo "<tr bgcolor=#256B9C class=font_white_bold_normal><td align=left height=30>2010-05-01 07:00:00 thru 2010-05-01 07:59:59<
/td><td align=right>Staging Tool</td></tr>" >>$Staglog_Html
echo "<tr><td colspan=2 class=font_orange_bold_large>Status Report</td></tr>" >> $Staglog_Html

cat $Staglog | while read line
do
        data=1
        startField=`echo $line |cut -c 1`
        if [ $startField = "#" ]
        then
                line1=`echo $line|sed 's/#//g'`
                echo '<table width=80% border=1 cellspacing=0 cellpadding=3 align=center style="border-collapse: collapse" bo
rdercolor=black>' >> $Staglog_Html
                echo "<tr class=table_heading_darkblue_white_center><td align=left>$line1</td>" >> $Staglog_Html
                data=0
        fi

        if [ `echo $line | cut -c 1` = \| ]
        then

                line1=`echo "$line" | awk -F"|" {'print $2'}`

        echo "font-style: normal;" >> $Staglog_Html
        echo "}" >> $Staglog_Html
         echo "</style>" >> $Staglog_Html
        echo "</head>" >> $Staglog_Html

echo "<body><table width=90% border=0 cellspacing=0 cellpadding=3 align=center>" >> $Staglog_Html
echo "<tr><td colspan=2><font face=verdana size=5 color=#999999>ABC| </font><font face=verdana size=5>XZY</font></td></
tr>" >> $Staglog_Html
echo "<tr bgcolor=#6DA2D7><td colspan=2 height=13></td></tr>" >> $Staglog_Html
echo "<tr bgcolor=#256B9C class=font_white_bold_normal><td align=left height=30>2010-05-01 07:00:00 thru 2010-05-01 07:59:59<
/td><td align=right>Staging Tool</td></tr>" >>$Staglog_Html
echo "<tr><td colspan=2 class=font_orange_bold_large>Status Report</td></tr>" >> $Staglog_Html

cat $Staglog | while read line
do
        data=1
        startField=`echo $line |cut -c 1`
        if [ $startField = "#" ]
        then
                line1=`echo $line|sed 's/#//g'`
                echo '<table width=80% border=1 cellspacing=0 cellpadding=3 align=center style="border-collapse: collapse" bo
echo "<tr bgcolor=#256B9C class=font_white_bold_normal><td align=left height=30>2010-05-01 07:00:00 thru 2010-05-01 07:59:59<
/td><td align=right>Staging Tool</td></tr>" >>$Staglog_Html
echo "<tr><td colspan=2 class=font_orange_bold_large>Status Report</td></tr>" >> $Staglog_Html

cat $Staglog | while read line
do
        data=1

cat $Staglog | while read line
do
        data=1
        startField=`echo $line |cut -c 1`
        if [ $startField = "#" ]
        then
                line1=`echo $line|sed 's/#//g'`
                echo '<table width=80% border=1 cellspacing=0 cellpadding=3 align=center style="border-collapse: collapse" bo
rdercolor=black>' >> $Staglog_Html
                echo "<tr class=table_heading_darkblue_white_center><td align=left>$line1</td>" >> $Staglog_Html
                data=0
        fi

        if [ `echo $line | cut -c 1` = \| ]
        then

                line1=`echo "$line" | awk -F"|" {'print $2'}`

                IFS=","
                set -A col_arr $line1
                count=0
                echo '<table width=70% border=1 cellspacing=0 cellpadding=3 align=center style="border-collapse: collapse" bo
rdercolor=black>' >> $Staglog_Html
                echo "<tr class=table_heading_darkblue_white_center>" >> $Staglog_Html
                        while [ $count -lt ${#col_arr[*]} ]
                        do
                                echo "<td>${col_arr[$count]}</td>" >> $Staglog_Html
                                count=$(($count+1))
                        done
               data=0
        fi

        if [ `echo $line | cut -c 1` = - ]
        then
                echo "</table>" >> $Staglog_Html
                data=0
        fi

        if [ $data -eq 1 ]
        then
                IFS=","
                set -A data_arr $line
                count=0
                echo "<tr>" >> $Staglog_Html
                        while [ $count -lt ${#data_arr[*]} ]
                        do
                                echo "<td>${data_arr[$count]}</td>" >> $Staglog_Html
                                count=$(($count+1))
                        done
                echo '</tr>'  >> $Staglog_Html
           fi
        unset IFS
done
echo "</table>" >> $Staglog_Html
echo "</html>" >> $Staglog_Html
}

    sendMail()
{
export EMAIL_DISTRIBUTION_LIST="`cat StagingValidationToolEmailList.lst 2>/dev/null`"
echo "Sending Mail "
echo $EMAIL_DISTRIBUTION_LIST
parser

if [ -s $Staglog_Html ]
then

(  echo "Subject:"STAGING Status""
  echo "MIME-Version: 1.0"
  echo "Content-Type: text/html"
  echo "Content-Disposition: inline"
  echo "From:Staging Status Mail"
cat $Staglog_Html
) | /usr/sbin/sendmail $EMAIL_DISTRIBUTION_LIST
fi
}

【问题讨论】:

  • 谢谢戴夫,我无法正确编辑帖子,我尝试但没有成功使其更易于查看。非常感谢
  • 说真的,这样做{ echo "foo" ... many lines ... echo "bar"; } &gt; "$Staglog_Html"。它不会解决您的问题,但会大大简化事情(您可以在开头消除rm)。如果您需要在所有 tl;dr 的中间进行一些输出,您可以使用显式重定向到文件或文件描述符来处理这些异常。此外,您不需要导出这些变量。
  • 您也可以考虑使用 here-doc 而不是所有那些 echos。此外,您似乎有很多重复的代码,但这可能是发布您的问题时的错误。顺便说一句,你永远不会说格式究竟是如何变化的。

标签: html unix scripting shell html-parsing


【解决方案1】:

您是否尝试将文件复制到 Windows 框并在 IE 中打开?

【讨论】:

  • 嗨,sridhar,我已经对 html 文件进行了一些更改,现在它可以被 Outlook 读取。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2012-03-07
  • 2017-06-16
  • 2014-11-28
  • 1970-01-01
  • 2019-12-20
  • 2013-09-05
相关资源
最近更新 更多