我想将文本加粗并使用 SMTP 作为邮件发送该输出。
邮件配置已正确完成,我正在收到邮件。
但是我得到的是
.bin
文件而不是打印行。
请帮我解决这个问题。
这是我使文本变为粗体的代码
bold=$(tput bold)
normal=$(tput sgr0)
echo "this is ${bold}bold${normal} but this isn't" > test.txt
cat test.txt | mailx -vvv -r "[email protected]" -S smtp="xx.xxx.xxx.xx" [email protected]
这是粗体(粗体),但这不是“。
这是邮件通知。
tput
是一个使用 terminfo(3)
(或 termcap(3)
,具体取决于系统)来获取转义序列的命令,您的交互式终端 使用该转义序列在输出上生成粗体字符。这不适用于电子邮件,因为接收器上的终端可能不会相同(大多数情况下不会,因为通常人们使用图形工具阅读电子邮件,而不是基于文本的终端)
电子邮件中没有“粗体文本”的概念。 HTML 或其他文档格式(例如 RTF、Word doc、Word docx 等)中存在粗体文本,因此大多数邮件阅读器中不会出现粗体文本(许多文本阅读器会避免出现转义序列)消息,这样它们就不会混淆实际的文本显示) 关注消息的某些部分真的那么重要吗?你能用一些不太依赖设备的东西来标记它吗 *****>>>>像这样
如果您坚持发送个人终端转义序列来指示粗体文本,而该文本在世界其他任何地方都不会显示为粗体,那么您会收到很多来自人们的投诉,他们的屏幕被您的消息弄乱。如果这些是自动发送的,那就更糟糕了。<<<<*****?
tput bold
生成)添加到文本中并通过
mailx
或类似方式发送,则邮件程序可能会发现您发送的文本不是纯 ASCII 并推断这可能是二进制文件文件。因此,文件将作为邮件的二进制部分发送。