我正在编写一个脚本来检查组织中的所有服务器是否正常运行。 Zimbra 邮件服务器就是其中之一。我正在尝试使用以下命令通过 zimbra 包提供的 sendmail 发送邮件
ssh Jarvice@someip echo "Hello" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]
但我无法这样做。我想我犯了一些错误
echo "Hello" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]
部分。但我不知道那是什么。有人可以告诉我正确的方法吗?由于我是通过脚本执行此操作,因此我确保ssh
无需提供密码即可完成此操作。我希望这个过程完全自动化。
答案1
您的本地 shell 将您的命令分为ssh ...
和/opt/zimbra ...
,然后通过管道传输这两个命令。
您必须引用 ssh 的参数,这样您的本地 shell 就不会尝试解释它,而是将其完整发送到远程计算机:
ssh Jarvice@someip "echo \"Hello\" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]"
答案2
有两种基于 ZCS 角色从 zimbra 服务器发送邮件命令行的方法。
- 从 Zimbra MTA 发送邮件
- 通过 Zimbra MTA 从邮件存储、LDAP、代理发送邮件
/bin/awk ' BEGIN{\
print "Subject:zimbra backup status (MTA to NAS) !\nFrom:ms2 <[email protected]>"\
}{\
printf("%s\015\n", $0)\
}' $LOG | sendmail -t "[email protected]""
欲了解更多信息,请参阅下面的链接 http://www.knowledgelinux.com/how-to-send-mail-from-zimbra-command-line/