2016-03-23 3 views
2

を使用して受信メールの唯一の体の一部。エキス私はMaildirのフォルダにメールをフェッチするために<code>offlineimap</code>を使用bashの

私は自動的にMaildirフォルダ内のすべての新しい受信メールを解析し、どこか他のインスタントメッセージとしてのみ「から」、「対象」と「身体」を送りたいです。

は、だから私は

MPATH=~/Mail 

if [ -n "$(ls "$MPATH/INBOX/new/")" ]; then 
    for f in "$MPATH/INBOX/new/"*; do 
     SUB="$(cat "$f"|grep '^Subject' | head -n1 | sed "s/Subject: //g")"                      
     FROM="$(cat "$f" | grep '^From' | head -n1 | head -n 1|sed "s/From: //g")"                     
     BODY="$(cat "$f"|sed -e '1,/Content-Transfer-Encoding/d')" 
     MESS="$FROM: $SUB$BODY" 

     echo $f 
     echo "$MESS" 
     mv "$f" "$MPATH/INBOX/cur/" 
    done 
fi 

ですべてのメールを処理しようこれは、すでにいくつかの簡単なメールの罰金に動作しますが、どのように私は署名、の添付、のように、無地の体ではありませんすべてを取り除くん.. ?

+1

ではなく、単純な文字列でそれをハッキングのメールを理解するツールを使用します処理? –

+1

bashのコマンドラインのための簡単なツールがあれば、それは可能でしょうか? – rubo77

+0

ここで実際に何をしようとしていますか?あなたの電子メールを "読む"? –

答えて

0

としてはprocmailパッケージからformailがうまく仕事をしているようだ、コメントで答え:

$ sudo apt-get install procmail 

$ cat test.eml | formail -x To 
[email protected] 

$ cat test.eml | formail -x Subject 
hello 

$ cat test.eml | formail -x Content 
multipart/alternative; boundary="f403043eea78e8658a0554677278" 

クレジット:@glennjackman