You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mailx发送文本文件时出现换行失效格式错乱问题

问题排查与解决方案

根因分析

  • mailx默认发送纯文本邮件时会启用flowed文本格式,对于仅以单个LF(Unix换行符)结尾、无末尾空格的连续行,会被判定为同一段落的软换行,收件方邮件客户端解析时会自动合并行,导致第二、第三行拼接的异常问题。
  • 部分邮件传输代理在转换Unix格式换行到邮件标准的CRLF换行时出现异常,吞掉了第二行末尾的换行符,也会触发该问题。

可落地解决方法

方法1:指定邮件格式为固定换行(最推荐)

发送时添加内容头声明格式为固定格式纯文本,禁止客户端自动合并行:

cat /home/user/test.txt | mailx -s "This is a test" -a "Content-Type: text/plain; charset=utf-8; format=fixed" user@email.com

方法2:修改文本生成规则规避软换行判定

调整生成test.txt的脚本,在每行末尾追加空格,避免被判定为同一段落的软换行:

#!/bin/bash
echo "##################################### " >> /home/user/test.txt
echo "########### First Email ############# " >> /home/user/test.txt
echo "##################################### " >> /home/user/test.txt

方法3:作为附件发送

如果不需要内容直接展示在邮件正文,将文件作为附件发送可完全规避格式问题:

# 需先安装uuencode工具,对应系统包名为sharutils
uuencode /home/user/test.txt test.txt | mailx -s "This is a test" user@email.com

内容的提问来源于stack exchange,提问作者suda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:54:04