- Linux
- 2012-02-22 - 更新:2012-02-28
この記事は最終更新日から1年以上経過しています。
送信元メールアドレスの取得が不完全だったので、訂正します。
確かな情報を得るため、ヘッダーからではなく、エンベロープから取得するように。
オプションもいらないと思います。
訂正前
#送信元アドレスを変数$FROMに格納 #sedコマンドで表示名、スペース、<>を除去(無効) :0fwH * ^From: \/.* { FROM = $MATCH #FROM = `echo $FROM | sed s/\".*\"//` #FROM = `echo $FROM | sed s/[[:space:]]//g` #FROM = `echo $FROM | sed s/\\<//g | sed s/\\>//g` }
訂正後
※[]の中は^・半角スペース・タブです。
#送信元アドレスを変数$FROMに格納 :0 *$ ! ^From *\/[^ ]+ { FROM = `formail -x From:` } :0E { FROM = $MATCH }
Reply-To:・Sender:も取得する場合
#送信元アドレスを変数$FROMに格納 :0 *$ ! ^Reply-To: *\/[^ ].* *$ ! ^Sender: *\/[^ ].* *$ ! ^From *\/[^ ]+ { FROM = `formail -x From:` } :0E { FROM = $MATCH }
ドメインを取得する場合(@を含む)
:0 *$ ^From *\/[^ ]+ { # @以前を除去 DOMAIN = `echo "$MATCH" | sed s/.*@/@/g` }
3,832 views