(注:我见过这个问题,但这对我不起作用)
我正在尝试使用 Debian Stretch 上的 Bash 包(而不是 mutt)发送一封带有附件的电子邮件mailx
。我的实现不支持该-A
参数(这是一个无效选项),该-a
参数用于添加标头。
我尝试了以下多种变体,但它们对我来说失败了:
mail -s "Test" -a /home/user/filename.xlsx [email protected] < /root/emailbody.txt
最终效果是一封纯文本电子邮件,文件名作为第一行,标题内容,然后是里面的数据/root/emailbody.txt
:
/home/user/filename.xlsx
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Hi there
我没有uuencode
,并且许多线程报告这是发送附件的“旧”方式。我无法mutt
在此服务器上安装。我有什么选择?
使用 uuencode 更新- 我尝试按以下方式运行它,但只收到“嗨,那里”作为电子邮件结果,没有附件:
uuencode /home/user/filename.xlsx test.tlsx | mail -s "Test" [email protected] < /root/emailbody.txt
答案1
如果heirloom-mailx
安装了该软件包,您的原始命令将起作用。
sudo apt-get install heirloom-mailx
然后你可以:
mailx -s "Test" -a /home/user/filename.xlsx [email protected] < /root/emailbody.txt
答案2
“附加”uuencoded 文件实际上只是意味着将其作为电子邮件的正文提供;结果,你不能还从文件重定向正文;你会用:
uuencode /home/user/filename.xlsx filename.xlsx | mail -s "Test" [email protected]