我试图将文本文件的内容作为附件的正文发送。这在HP-UX中很好,但是我们最近转向了RedHat Linux,它不再像预期的那样工作了。
这是我的命令
猫test.txt -sTest me@email.ca
如果"test.txt“包含较低的ASCII字符,那么它可以正常工作。但是,我的文本文件可能有法语字符,并且将始终包含注册商标符号。当我试图发送这些字符时,Linux似乎正在将电子邮件转换为附件(形式为attxxxxx.dat)。附件有我所有的数据,完美的形式,但我的收件人只是想要一个普通的电子邮件-而不是一个“达特”附件。我们尝试过设置环境变量,并在mailx命令中放置扩展字符集命令,但没有效果。
如有任何建议或想法,将不胜感激。
发布于 2013-09-20 13:11:05
确保您的文件编码与系统上设置的locale (man )相同。要么将您的文件(例如使用iconv)转换为相应的区域设置,要么将系统的区域设置为当前的文件编码。此外,请确保从文件中删除任何回车返回。
cat test_1.txt | tr -d '\r' > test_2.txt;
那么cat test_2.txt | mailx -s 'Test' me@email.ca;应该正确工作。
发布于 2016-06-28 07:21:59
还可以在通过邮件命令发送文件之前使用下面的小型perl脚本。
perl -pi -e 's/\r\n/\n/g' file_name发布于 2016-02-29 18:23:26
根据Toru的回答,我已经接受了这样的命令:
cat $FILE | tr -c -d '[:graph:][:blank:]\n\r\t' | mail -s "$FILE" somebody@example.comhttps://stackoverflow.com/questions/18621899
复制相似问题