.dat附件,而不是在RedHat Linux中使用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)。附件中有我所有的数据,格式完美,但我的收件

我正在尝试将文本文件的内容作为附件的主体发送。这在HP-UX中工作得很好,但我们最近已经迁移到RedHat Linux,它不再像预期的那样工作

这是我的命令

cat test.txt | mailx-sTestme@email.ca

如果“test.txt”包含较低的ASCII字符,则可以正常工作。但是,我的文本文件可能有法语字符,并且始终包含注册商标符号。当我试图发送这些字符时,Linux似乎正在将电子邮件转换为附件(格式为attxxxxx.dat)。附件中有我所有的数据,格式完美,但我的收件人只想要一封普通的电子邮件,而不是“dat”附件。我们尝试设置环境变量,并将扩展字符集命令放入mailx命令中,但没有成功


如有任何建议或想法,将不胜感激

确保文件编码与系统上设置的区域设置(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