XSERVER : メール受信をトリガーにして処理を起動

概要

XSERVER のレンタルサーバー上で、メールの受信をトリガーにして処理を起動する方法。
今回は Python3 のプログラム test.py を起動する例を紹介する。

環境

  • XSERVER

  • Python3.4.9 (デフォルトでインストールされているもの)

手順

トリガーの設定

トリガーの設定はコントロールパネルの転送設定から行う。
「処理方法 (宛先)」にメールアドレスの代わりに起動するスクリプトを書く。

| /usr/bin/python3 /home/ryoblog/test.py
| の直後は半角スペース

コントロールパネルを使わずに .filter に直接記述する方法も可能。

if ( /^To: .*ryo.*/:h )
{
    cc "| /usr/bin/python3 /home/(username)/test.py"
}

これでメールの受信時に test.py が起動され、メールの内容が標準入力から渡される。

test.py の用意

標準入力の内容を mail.txt に保存するだけのテストスクリプト。

import sys

stdin = sys.stdin.readlines()
with open("/home/(username)/mail.txt", "w") as f:
    f.write(''.join(stdin))

テスト

XSERVER のメールアドレスにメールを送り、ホームディレクトリに mail.txt が作成されていて、その内容がメールデータなら OK。

Return-Path: <ryo@xxxxx>
Delivered-To: xxxxxx@xxxxx.xsrv.jp
Received: from xxxxx.xserver.jp (xxxxx.xserver.jp [xxx.xxx.xxx.xxx])
        by xxxxx.xserver.jp (Postfix) with ESMTP id 76B28380A59006
        for <xxxxx@xxxxx.xsrv.jp>; Mon, 20 May 2019 08:56:35 +0900 (JST)
Received: from xxxxx.xserver.jp (xxx.xxx.xxx.xxx)
 by xxxxx.xserver.jp (F-Secure/fsigk_smtp/521/xxxxx.xserver.jp);
 Mon, 20 May 2019 08:56:35 +0900 (JST)
X-Virus-Status: clean(F-Secure/fsigk_smtp/521/xxxxx.xserver.jp)
MIME-Version: 1.0
From: <ryo@xxxxx>
Date: Mon, 20 May 2019 08:56:23 +0900
Message-ID: <CALty-frQKGaTUU=9Ku1JC-BDy_=QH4QnwV-hOaA9_AYwu3d6Wg@mail.gmail.com>
Subject: =?UTF-8?B?44OG44K544OI44K/44Kk44OI44Or?=
To: xxxxx@xxxxx.xsrv.jp
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
XSRV-Filter: xxxxx@xxxxx.xsrv.jp

44OG44K544OI5pys5paH6ZaL5aeLDQrjgYLjgYLjgYLjgYLjgYLjgYLjgYINCuOBiuOBiuOBiuOB
iuOBiuOBiuOBig0K44OG44K544OI5pys5paH57WC5LqGDQo=

コメント

タイトルとURLをコピーしました