ユーザスクリプト
ユーザスクリプトとは
各ユーザ毎でメールの受信をトリガーとして、お客様が作成したスクリプトを実行することができます。
仕様詳細
- 対象ユーザのメールボックスにメールが配送された時点で、/home/ユーザ名/data/myscriptファイルが実行されます。
- /home/ユーザ名/data/myscript の標準入力に、配送されたメールが入力されます。
- 上記ファイルに実行権限が付与されている必要があります。
- スクリプトの実行は10秒に設定されています。10秒を超える場合、強制終了されます。
- スクリプトの実行結果は、記録されません。
スクリプトがエラーになった場合、基本的にはメールはメールボックスへ配送されますが、異常終了した場合の動作は保証できません。
※スクリプトの内容および動作については、サポート対象外です。
設定手順
- FTPなどを用い各ユーザの「data」ディレクトリにご用意されたスクリプトをパーミッション700として設置してください。
- コントロールパネルへアクセスしてください。
- 左メニューの「ユーザ」-「ユーザ一覧」をクリックしてください。
- ユーザスクリプトを変更するユーザをクリックしてください。
- ユーザスクリプトの「変更」をクリックしてください。
- 「ユーザスクリプトの設定を変更しました。」と表示されれば完了となります。
サンプルスクリプト1(自動返信)
#!/bin/sh ORG_FROM=`cat - | /usr/bin/formail -x From: | sed -e 's/^ //'` FROM=support@support.mngsv.jp.sq.mcnet.jp cat << _END_OF_MAIL_ | /usr/bin/nkf -j | /usr/sbin/sendmail -t -f$FROM From: $FROM Subject: Thank you for your mail Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit To: $ORG_FROM メールありがとうございます おって連絡します $FROM _END_OF_MAIL_
サンプルスクリプト2(特定アドレスメールの自動転送)
#!/bin/bash # FROM:このアドレスからメールを受信したら転送 FROM=someone@host1.example.com # FORWARD:転送先メールアドレス FORWARD=myaddr@host2.exmple.com IFS= while read LINE; do echo ${LINE}; if [[ "$LINE" =~ ^From: ]]; then if [[ ! "$LINE" =~ "$FROM" ]]; then exit 1; fi fi done | /usr/bin/formail -i "To: $FORWARD" | /usr/sbin/sendmail -t
サンプルスクリプト3(自動転送した際のtripwireレポート添付ファイル名変更)
#!/bin/sh # # 転送先メールアドレス FORWARD=foo@example.com IFS= while read LINE; do if [[ "$LINE" =~ \"tripwire-report-[0-9]{8}.zip\" ]]; then LINE=`echo $LINE | sed 's/\(.*"tripwire\-report\-[0-9]\{8\}\).zip"/\1.zi_"/'` fi echo ${LINE}; done | /usr/bin/formail -i "To: $FORWARD" | /usr/sbin/sendmail -t