送信元メールアドレスの取得が不完全だったので、訂正します。
確かな情報を得るため、ヘッダーからではなく、エンベロープから取得するように。
オプションもいらないと思います。
訂正前
#送信元アドレスを変数$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`
}