おすすめのスマホ・PC・ガジェット情報を中心におとどけします

sysnishi(しすにし)

技術メモ

【shell+perl+postfix】シンプルだけどちょっと役立つリマインダー

shellとperlとpostfixを使った超簡単なリマインダーを作成してみた。今のとこ、必要なタスクが1件しかないので全然汎用的ではないけれど。

構想

そもそもこの機能は、「Jizile」の支払方法変更手続を毎月ちゃんとしなければという意識から生まれることとなりました。手続きしないとリボ手数料がとられてしまう可能性がありますからね。

さらに言うと、そのためにアプリを入れたりすると無駄に電池食ってしまいそうで嫌だったんです。その点スマホに届いたメールに返送するだけっていう仕組みなら、アプリの追加はいりませんから。

中身(簡易)

以下のような簡単な内容です。

  • 特定できないランダムなアドレスを決める。aaaaa@xxx.netなど。
  • 毎月特定日、特定時間にメールを送信。(送信元アドレスは、上記のアドレス)
  • 送信元に対し、返信すると、その月の作業を完了したとみなし、次の日からメールを送らない。
  • 次の月の特定日になると、また作業しなさいとメールを送る。

(以下連鎖。ばよえ~ん)

中身(詳細)

■期間判定・メール送信
毎日朝8時にcronが期間判定バッチ(shell)を起動。
期間判定バッチは、期間判定ファイルに記載されている日付を確認する。
本日の日付、および期間判定ファイルに記載されている日付から、それぞれの期間を判定する。
(期間判定方法)
日が01~15の場合→今月度(例 2014/05/01→2014/05月度)
日が16~末日の場合→次月度(例 2014/05/20→2014/06月度)

本日の日付から期間判定した結果(X)と期間判定ファイルに記載されている日付から期間判定(Y)の比較結果により、メールを送信するか判断する。
⇒X > Y の場合、メールを送信する。※メール送信バッチ(perl)を利用。

■メールが返信されてきた時の処理
期間判定ファイルの中身を現在の日付(YYYYMMDD)に書き換える。
⇒postfixのaliasesに以下のように追加するだけでOK。
aaaaa: "| date +'%Y%m%d' > /tmp/yyy.txt"
上記の場合、「aaaaa@xxx.net宛のメールを受信したときに期間判定ファイル(/tmp/yyy.txt)のファイル内容を現在の日付に書き換えるよ!」という意味になります。もちろん、あとでpostaliaseしましょうね。

汎用的にするならDBと、設定画面が必要ですね。必要性が出てこれば検討したいと思います。

この記事もおすすめ!

OnePlus 7|コスパ最強を維持しつつ高性能カメラ・UFS3.0高速ストレージなどOnePlus 6Tから着実に進化したスマホ! 1

OnePlusから新たにOnePlus 7シリーズが発表されました。 本シリーズではじめてOnePlus 7(無印)とOnePlus 7 Proの2種類のモデルが出ています。 コスパ維持のOnePlu ...

Xiaomi Mi Mix 3 2

お手頃価格で素晴らしい性能のスマホを提供するXiaomiから新型スマホ『Mi Mix 3』が発表されました。 前作の「Xiaomi Mi Mix 2」に引き続き、かなりの高コスパでとても魅力的な製品と ...

Oneplus 6T レビュー|コスパ最強で爆速顔認証・高品質カメラ搭載のサクサクスマホ【ドコモDSDS対応】 3

長らく使用していたスマホ「ZenFone 3」から乗り換え候補の厳選を重ね、ついに新スマホへ乗り換えました。 乗り換え先はOPPO傘下のスマートフォンメーカーOnePlusの「OnePlus 6T」。 ...

【Mi Band 3レビュー】Xiaomiのコスパ最高・バッテリー持ち最高、そして超便利なスマートウォッチが届いたよ!【20ドル台で買える】 4

みなさんはスマートウォッチはお持ちですか?腕時計は人によって趣味が分かれそうなところですよね。 かくいうボクも、ズボラな体質ゆえ、腕時計もメンテナンスフリーなソーラー電波タイプの腕時計を愛用していまし ...

5

OnePlus 6や6T、Mi Mix3のように現時点で最新・最高のCPU「Snapdragon 845」を積んでいる超サクサクなスマホがありますが、もちろんCPUの性能が高ければ、それに応じて価格は ...

-技術メモ

Copyright© sysnishi(しすにし) , 2019 All Rights Reserved.