私は以下の手順を実行しようとしています。しかし、 CentOS 7 にはsendEmailはありません。 Postfix のようないくつかの選択肢を見てきましたが、スクリプトコマンドがわかりません。
または、sendEmailを使用することもできます。
1)apt-get install sendEmail
2)/etc/zabbix/zabbix_server.confで指定されたAlertScriptsPathフォルダーにスクリプト「zabbix_sendemail」(chmod 755)を作成します
> #!/bin/sh
>
> export [email protected] export zabbixemailto=$1
> export zabbixsubject=$2 export zabbixbody=$3 export
> smtpserver=yoursmtpserver.com export smtplogin=smtpuser export
> smtppass=smtppassword
>
> /usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u
> $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp
> $smtppass
3)アクションを設定します(phpフロントエンドの構成/アクション)
4)メディアタイプ(phpフロントエンドの管理/メディアタイプ)スクリプトをzabbix_sendemailに設定します
5)メディアをユーザーに追加します(管理/ユーザー/ phpフロントエンドのユーザー)見積もりで返信
Mailxをインストールする必要があります(yum install mailx
)。
スクリプトを次のように置き換えることができるようです。
#!/bin/sh
echo "$3" | /bin/mailx \
-r [email protected] \
-s "$2" \
-S smtp="yoursmtpserver.example:25" \
-S smtp-auth=login \
-S smtp-auth-user="your-user" \
-S smtp-auth-password="your-password" \
"$1"
メッセージが常に配信MTA(つまり最後のメッセージ)に直接配信される場合は、そのようなメッセージにポート587(送信)を使用することを検討してください。それ以外の場合は、STARTTLSを使用してパスワードを保護する方法についてマンページを確認してください。
サンプルの作成者は、シェル変数を引用しないことを恥ずかしく思うはずです。
Centosはmailxを/ bin/mailxに置くと思いますが、/ usr/bin/mailxにもあるかもしれません。
Sendemail
は Perl スクリプトなので、Perlがあればどこにでも簡単にインストールできます。アップストリームURLは http://www.caspian.dotconf.net/menu/Software/SendEmail/ であり、rpmが事前に設定されています。 Postfixとは何の関係もありません。
'sendEmail'は Sendmail だと思います。 Postfixには独自の/ usr/sbin/sendmailバイナリがあり、ほとんどすべてのsendmail互換パッケージで動作するはずです。
ご覧のとおり、メールをリモートSMTPサーバーに転送したいとします。 ZabbixはSMTP接続をネイティブにサポートしているので、sendmailバイナリを呼び出す代わりに組み込みのメカニズムを使用してみませんか?
CentOの場合、接尾辞と送信メールの組み合わせが適切に機能します。メールを送信する前に、Postfixサービスを開始することを忘れないでください。
安全を確保するために、
mynetworks_style = Host
/etc/postfix/main.cnf内