Linux下用mailx发送邮件,邮件内容在用户端变成了以为.bin为扩展名的邮件附件的问题解决
文章目录
- Linux下用mailx发送邮件,邮件内容在用户端变成了以为.bin为扩展名的邮件附件的问题解决
-
- [1 发送邮件范例:](#1 发送邮件范例:)
- [2 文件范例参考(/root/lollipop/test.log):](#2 文件范例参考(/root/lollipop/test.log):)
- [3 解决方法:](#3 解决方法:)
- [4 最后](#4 最后)
这种情况一般存在于将【某文件内容】作为【邮件内容】时发生,你指定的那个文件中包含了Linux终端控制字符,把这些控制字符删除即可恢复正常。
附件的文件名一般为.bin结尾,也可能是其他。
1 发送邮件范例:
bash
mailx -s "邮件主题xx" -c "$(cat /root/lollipop/test.log)" admin@gcmm.com
2 文件范例参考(/root/lollipop/test.log):
text
^[[34;1m# ----------------------------------------------------------^[[0m
^[[34;1m# 1/1: | platform-drifting-childhood | | platform-drifting-childhood | 1 | 45300:45300 | 20 | |^[[0m
^[[34;1m# ----------------------------------------------------------^[[0m
Stopping platform-drifting-childhood.20230712T181658 ... ^M
^[[1A^[[2K^MRemoving platform-drifting-childhood.20230712T181658 ... ^[[32mdone^[[0m^M^[[1BNetwork net_mtss is external, skipping
Creating platform-drifting-childhood.20230712T181658 ... ^M
^[[1A^[[2K^MCreating platform-drifting-childhood.20230712T181658 ... ^[[32mdone^[[0m^M^[[1Bplatform-drifting-childhood : 成功
如果按这个原文发送邮件,则会变成以.bin结尾的邮件附件
3 解决方法:
删除文件中的控制字符,重新发送即可。删除方法参考:
bash
sed -i -E -e "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?){0,2}[m|A-Z]//g" -e "s/\x0D//g" /root/lollipop/test.log
4 最后
爱你!