【问题标题】:Ksh script removes linefeed when sent in email from text fileKsh 脚本在从文本文件通过电子邮件发送时删除换行符
【发布时间】:2018-02-15 04:26:29
【问题描述】:

我有一个脚本,它可以发送和发送电子邮件,从文本文件 ($list_file) 中读取列表。但是,当我收到电子邮件时,我看到换行已被删除,并且列表显示在一行中。如何让它显示每个条目对应一行?

电子邮件通知:

File Transfer Listing

file1.csv file2.csv file3.csv

脚本:

echo "File Transfer Listing" > $mail_file
echo "" >> $mail_file
echo `cat $list_file` >> $mail_file
echo "" >> $mail_file
mailx -s "File Listing" myemail@email.com < $mail_file

$list_file 的内容:

file1.csv
file2.csv
file3.csv

$mail_file 的内容:

File Transfer Listing

file1.csv
file2.csv
file3.csv

【问题讨论】:

    标签: unix ksh mailx


    【解决方案1】:

    该行为不是由于生成电子邮件的 ksh 代码,而是 Outlook 的一项功能。 Outlook 尝试美化电子邮件。
    当您在 Outlook 中打开电子邮件时,您会看到一条消息,指出多余的换行符已被删除。当您总是向一个客户端发送邮件时,您可以使用工具 --> 选项 --> 电子邮件选项 --> 删除纯文本消息中的多余换行符来配置 Outlook。
    一种解决方法是在每行的末尾包含一个空格字符。 试试这个:

    sed 's/$/ /' "${mail_file}" | mailx -s "File Listing" myemail@email.com
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多