投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償、寄付歓迎) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2016年12月26日月曜日

【Linux CentOS 6.7 64bit】いったんMailDir形式で受信したメールを再び任意のアドレスで送信する方法について(受信済みメールの再送信方法)

更新:2020年5月30日/メール検索方法


ターゲットのメールをMailDir方式で受信している場合、newディレクトリや、curディレクトリなどにメールごとにファイルで存在している。

このメールファイルは、メールソフトによる「未読」「既読」によって、次のように保存された。

未読の場合、newディレクトリに保存
既読の場合、curディレクトリに保存


たとえば、目的のメールが未読状態であれば、newフォルダに保存されている。
newフォルダ内に移動した。

# cd new


そして、次のようにして、ターゲットのメールを検索する。
キーワードは、TEST とする。
また、検索を早くするために対象メールを指定した日付以降のものに絞り込んでいる。

[root@mailserver new]# for i in `find . -type f -newermt "2020-5-25"` ; do if grep "TEST" $i ; then echo $i ; fi ; done
Return-Path: <TEST@example.com>
        (envelope-from TEST@example.com)
        (envelope-from TEST@example.com)
From: <TEST@example.com>
./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7
最後の行に検索されたメールが保存されたファイル名である。


ターゲットメールのファイルを次のように指定して再送できる。
下記に動作について記述している。

# cat ./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7 | formail -k -X From: -X Subject: -X Message-Id: -X Date: -X To: | sendmail -f from@mydomain testto@resending-to-address


上記コマンドは、次の手順で処理を行っている。

1、目的のメールをcatコマンドで読み取って、標準出力からformailコマンドに渡す。
2、formailコマンドによってメールを加工し、必要なヘッダーとボディを取り出す。
3、そうして、sendmailコマンドで再送信先と送信元を指定して送信処理を行う。

formailコマンド(オプション付)では、必要なヘッダーとボディのみ取り出している。

メール本体の、Toヘッダーの内容も書き換えるには次のようにして指定すると良かった。
-I To:testto@re-sending-to-address
また、必要に応じて、CCヘッダーなどもオリジナルメールから取り出すようにすると良い。


もし、メールサブジェクトを変更したい場合は次のようにする。
-X Subject: はそのままにしておくこと。

cat ./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7 | formail -k -X From: -X Subject: -i "Subject: NEW SUBJECT" -X Message-Id: -X Date: -X To: | sendmail -f from@mydomain testto@resending-to-address



<参考>
・Resend mail that’s locally stored in a mbox format on a Linux box to a working email address
< http://giantdorks.org/alain/resend-mail-thats-locally-stored-in-a-mbox-format-on-a-linux-box-to-a-working-email-address/ > 2016年12月26日

・How can i send /var/mail/root again?
< http://serverfault.com/questions/90023/how-can-i-send-var-mail-root-again > 2016年12月26日

・formail
< http://linuxcommand.org/man_pages/formail1.html > 2016年12月26日

・Maildirの仕様について
< http://ijo.cc/it/ja/server/maildir_spec/ > 2017年1月8日

投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad