我有一个脚本,它发送和发送电子邮件,从文本文件($ 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
答案 0 :(得分:0)
行为不是由生成电子邮件的ksh代码引起的,而是Outlook的一项功能。 Outlook试图美化电子邮件。
当您在Outlook中打开电子邮件时,您会看到一条消息,表明已删除了额外的换行符。当您始终邮寄到一个客户端时,您可以使用工具配置Outlook - &gt;选项 - &gt;电子邮件选项 - &gt;删除纯文本消息中的额外换行符
解决方法是在每行的末尾包含一个空的空格字符。
试试这个:
sed 's/$/ /' "${mail_file}" | mailx -s "File Listing" myemail@email.com