質問するログイン新規登録

回答編集履歴

2

追記

2018/07/25 02:12

投稿

otn
otn

スコア86367

answer CHANGED
@@ -20,4 +20,21 @@
20
20
 
21
21
  3.はcronから起動して、テキスト処理して、`sendmail`コマンドで送信ですね。メールが送れる設定が必要です。
22
22
 
23
- また、設計に於いては、2と3の機能分担の検討も必要です。
23
+ また、設計に於いては、2と3の機能分担の検討も必要です。
24
+
25
+ #追記2
26
+ `fetchmail`を使って、受信したメールをプログラムに送る設定ファイル`~/.fetchmailrc`のサンプル。
27
+ ```plain
28
+ defaults
29
+ uidl
30
+ no mimedecode
31
+ no rewrite
32
+ mda /fullpath/to/program # メールを渡すプログラムのフルパス
33
+ keep
34
+
35
+ poll mail.example.com protocol pop3 # メールサーバー名とpopの方式
36
+ username xxxxxxxxx # ユーザー名
37
+ password xxxxxxxxx # pop 認証のパスワード
38
+ ```
39
+ 認証部分は、これだとパスワードが平文で送られるので、このまま使わない方が良いです。
40
+ 詳しくは、`man fetchmail`参照。

1

追記

2018/07/25 02:12

投稿

otn
otn

スコア86367

answer CHANGED
@@ -10,4 +10,14 @@
10
10
  1.定期的にメールサーバーにメールを取りに行き、あればプログラムを起動して渡す
11
11
  という処理に変えます。
12
12
 
13
- シェルスクリプトだけで出来ないかというと、出来なくはないですが、何らかのプログラミング言語を使うのと変わらない手間が掛かりますね。
13
+ シェルスクリプトだけで出来ないかというと、出来なくはないですが、何らかのプログラミング言語を使うのと変わらない手間が掛かりますね。
14
+ #追記
15
+ Linux前提で言うと、
16
+ 1.は、fetchmailという「メールを取りに行って、フォルダに格納したり、プログラムを起動したり」という機能のコマンドがあります。
17
+ これをcronからN分ごとに起動するか、あるいはデーモンモードでN分を指定して常駐させます。
18
+
19
+ 2.はテキスト処理なので、`grep`なり`sed`、`awk`なりで。PerlやRubyを使う手もあるでしょう。
20
+
21
+ 3.はcronから起動して、テキスト処理して、`sendmail`コマンドで送信ですね。メールが送れる設定が必要です。
22
+
23
+ また、設計に於いては、2と3の機能分担の検討も必要です。