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

Linux下mail命令设置发件人、抄送时报非法字符':'错误如何解决?

报错原因

  • 该报错由系统默认的mail工具版本差异导致:如果当前系统安装的是GNU mailutils版本的mail,-a参数的作用是添加附件而非自定义邮件头,命令会将From:sender@example.com整体识别为附件文件名,其中的冒号属于文件名非法字符,因此触发报错。
  • 原命令的收件人参数逻辑错误:-c参数后接的是抄送收件人地址,主收件人地址需要放在所有参数末尾,原写法会将reciver1@example.com识别为抄送地址、reciver2@example.com识别为主收件人,与需求不符。

正确命令调整方案

首先执行mail -V即可查看当前mail工具的版本,再对应选择适配的命令:

适配GNU mailutils版本

使用--from参数指定发件人,调整后命令如下:

echo "This is the message body" | mail -s "This is the subject" --from sender@example.com -c reciver2@example.com reciver1@example.com

适配Heirloom mailx(BSD mailx)版本

该版本支持-a参数添加自定义邮件头,调整后命令如下:

echo "This is the message body" | mail -s "This is the subject" -a "From: sender@example.com" -c reciver2@example.com reciver1@example.com

参数说明

  • -s:指定邮件主题
  • --from/-a "From: 发件人地址":指定发件人
  • -c:指定抄送收件人地址
  • 所有参数末尾的地址为主要收件人地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:06:03