スマートコネクト マネージドサーバ

ユーザーサポートサイト>操作マニュアル>コントロールパネル>一般ユーザ権限でできること>ユーザスクリプト

ユーザスクリプト

ユーザスクリプトとは

各ユーザ毎でメールの受信をトリガーとして、お客様が作成したスクリプトを実行することができます。

仕様詳細

  • 対象ユーザのメールボックスにメールが配送された時点で、/home/ユーザ名/data/myscriptファイルが実行されます。
  • /home/ユーザ名/data/myscript の標準入力に、配送されたメールが入力されます。
  • 上記ファイルに実行権限が付与されている必要があります。
  • スクリプトの実行は10秒に設定されています。10秒を超える場合、強制終了されます。
  • スクリプトの実行結果は、記録されません。
    スクリプトがエラーになった場合、基本的にはメールはメールボックスへ配送されますが、異常終了した場合の動作は保証できません。

※スクリプトの内容および動作については、サポート対象外です。

設定手順

  1. FTPなどを用い各ユーザの「data」ディレクトリにご用意されたスクリプトをパーミッション700として設置してください。
  2. コントロールパネルへアクセスしてください。
  3. 左メニューの「ユーザ」-「ユーザ一覧」をクリックしてください。
  4. ユーザ一覧

  5. ユーザスクリプトを変更するユーザをクリックしてください。
  6. ユーザスクリプトを変更する

  7. ユーザスクリプトの「変更」をクリックしてください。
  8. ユーザスクリプトの設定

  9. 「ユーザスクリプトの設定を変更しました。」と表示されれば完了となります。

サンプルスクリプト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