使用mail
(from mailutils
),发送包含 html 消息和附件的电子邮件的唯一方法是包含来自文件的消息,如下所示:
mail \
--content-type=text/csv --attach=/tmp/filename.csv \
-a "From: [email protected]" \
-s "An HTML Email with Attachment, Yay!" \
--content-type=text/html \
[email protected] < /tmp/filename.txt
然而,我需要做的是filename.txt
从远程服务器获取最后一个文件(其中包含 html 的文件)。
我可以通过 ssh 进入远程服务器,没有任何问题,例如,
但是当我尝试将mail
命令指向远程服务器上的那个位置时,我得到“没有这样的文件或目录”,但毫无疑问该文件在那里。
mail \
--content-type=text/csv --attach=/tmp/filename.csv \
-a "From: [email protected]" \
-s "An HTML Email with Attachment, Yay!" \
--content-type=text/html \
[email protected] < ssh [email protected]:/tmp/filename.txt
我已经尝试了所有我能想到的 backtics 和管道组合,但我无法让它发挥作用。
顺便说一句,是的,当本地服务器上的用户通过 ssh 以远程服务器上的用户身份登录时,可以查看、打开和编辑远程文件。
所以
ssh [email protected]
nano /tmp/filename.txt
工作正常。
有任何想法吗?
目前我只是在发送电子邮件之前将文件复制到另一台服务器,但我宁愿不必这样做。更喜欢单线。
我在两台服务器上都使用 Ubuntu 18.04。将 postfix 与 mailutils 一起使用。
尝试更换
经过
ssh 只能执行远程命令,/tmp/filename.txt 不是命令,所以报错。
或者,您可以使用管道吗