.dat附件,而不是在RedHat Linux中使用mailx的文本
我正在尝试将文本文件的内容作为附件的主体发送。这在HP-UX中工作得很好,但我们最近已经迁移到RedHat Linux,它不再像预期的那样工作 这是我的命令 cat test.txt | mailx-sTestme@email.ca 如果“test.txt”包含较低的ASCII字符,则可以正常工作。但是,我的文本文件可能有法语字符,并且始终包含注册商标符号。当我试图发送这些字符时,Linux似乎正在将电子邮件转换为附件(格式为attxxxxx.dat)。附件中有我所有的数据,格式完美,但我的收件人只想要一封普通的电子邮件,而不是“dat”附件。我们尝试设置环境变量,并将扩展字符集命令放入mailx命令中,但没有成功.dat附件,而不是在RedHat Linux中使用mailx的文本,linux,email-attachments,mailx,Linux,Email Attachments,Mailx,我正在尝试将文本文件的内容作为附件的主体发送。这在HP-UX中工作得很好,但我们最近已经迁移到RedHat Linux,它不再像预期的那样工作 这是我的命令 cat test.txt | mailx-sTestme@email.ca 如果“test.txt”包含较低的ASCII字符,则可以正常工作。但是,我的文本文件可能有法语字符,并且始终包含注册商标符号。当我试图发送这些字符时,Linux似乎正在将电子邮件转换为附件(格式为attxxxxx.dat)。附件中有我所有的数据,格式完美,但我的收件
如有任何建议或想法,将不胜感激 确保文件编码与系统上设置的区域设置(man区域设置)相同。将文件(例如,使用
iconv
)转换为相应的区域设置,或将系统的区域设置为当前文件编码。此外,确保从文件中删除任何回车符
cat test_1.txt | tr-d'\r'>test_2.txt代码>
然后cat test_2.txt | mailx-s'test'me@email.ca;代码>应该可以正常工作。根据Toru的回答,我已经决定执行以下命令:
cat $FILE | tr -c -d '[:graph:][:blank:]\n\r\t' | mail -s "$FILE" somebody@example.com
在通过mail命令发送文件之前,还可以使用下面的小perl脚本
perl -pi -e 's/\r\n/\n/g' file_name