Command
SendEmail 有沒有一種方法可以讓您擁有自定義文本並在其下輸出命令?
我正在嘗試使用 SendEmail。我想要的是我收到一封帶有命令輸出的電子郵件,
ls
但在該輸出之上我想要一個帶有一些解釋的自定義文本。如果我嘗試-u
它會覆蓋我的ls
命令輸出。我使用的命令:
ls home/ec2-user/client_certs/ | grep '.ovpn' | sendemail -o tls=yes -f Emailthatsendmail@company -t Myemail@company -s smtp.office365.com:587 -xu Emailthatsend@company -xp passwordemailthatsend -u "[Encrypted] Access to VPN Service" -m Users who have access to the VPN service, if something is wrong contact EMAILofCompany
為了隱私,我更改了電子郵件和密碼。
結果:我收到一封主題和正文正確的加密郵件:有權訪問 vpn 服務的使用者,如果出現問題,請聯繫 EMAILofCompany
該
ls
命令無處可尋,但如果我不使用
-m Users who have access to the VPN service, if something is wrong contact EMAILofCompany
我收到一封郵件,我可以在其中看到命令的輸出,但看不到自定義消息,因為我刪除了它。
我正在使用 Amazon Linux 2 AMI
SendEmail 版本:sendemail-1.56
將您的自定義消息放入文件中,例如:
/some/path/custom-message.txt
然後:
(cat /some/path/custom-message.txt; ls -d home/ec2-user/client_certs/*?ovpn*) | sendemail -o tls=yes -f Emailthatsendmail@company -t Myemail@company -s smtp.office365.com:587 -xu Emailthatsend@company -xp passwordemailthatsend -u "[Encrypted] Access to VPN Service"
理由:
使用該
-m
選項,sendemail
從選項參數中獲取消息並完全忽略管道標準輸入。你不想要那個,所以不要使用這個-m
選項。相反,通過添加括號,括號內的所有命令/管道的輸出按指定順序進入sendemail
的標準輸入。