eml ファイルのメールを Gnus で From とかそのまま Gmail に再送信

Power Automate for Desktop でメールを処理するフローをテストする際、お客様からもらった eml ファイルを自分の Gmail に、転送ではなく、From や To をそのままで再送信して動作確認をしました。

ちょっとややこしかったので、メモとして残しておきます。

まず、再送信できないMUA(いわゆるメールクライアント)や、eml ファイルをインポートできないMUAがありますので、eml ファイルをインポートでき、再送信できるMUAを選択する必要があります。

私は Gmail 以外に Gnus を使っていたので、Gnus で再送信することにしました。

まず、Gnus に eml ファイルをメールとして取り込みます。Maildir 形式のフォルダに保存して、Gnus の nnmaildir メールバックエンドを使って取り込みます。

$HOME/Maildir をトップディレクトリとして使用します。eml ファイルは「eml」フォルダに入れることにします。

$ mkdir -p ~/Maildir/eml
$ cd ~/Maildir/eml
$ mkdir tmp new cur

eml フォルダができたので、/tmp/eml/ にコピーしておいた emlファイルを、$HOME/Maildir/new にコピーします。

Maildir 形式では、メールは tmp → new → cur と移動していきますが、new のメールはMUA が新規メールとして取り込んで、cur に移動します。

new には一意の名前のファイルならなんでもいいとのことなのですが、eml ファイルをそのまま置いても Gnus では取り込んでもらえなかったので、ランダムな数字のファイルに置き換えました。

$ for i in /tmp/eml/*.eml; do cp -i $i ~/Maildir/eml/new/$RANDOM; done

ファイル名について、詳しくは「Using maildir format」などをご覧ください。

次は Gnus の設定です。以下を .gnus.el に加えます。

(add-to-list 'gnus-secondary-select-methods
             '(nnmaildir ""
                         (directory "~/Maildir")))

Gnus を起動し、Group バッファで「^」をタイプし、Server バッファへ入ります。

     {nnmbox:} (closed)
     {nnfolder:archive} (opened)
     {nnmbox:mbox} (closed)
     {nndraft:} (opened)
     {nnml:} (opened)
     {nnmaildir:} (opened)

追加した nnmaildir にカーソルを置き、Enter をタイプすると、eml グループが表示されますので、「u」で購読(subscribe)状態にします。

「q」を2回タイプし、Group バッファに戻ってみると、eml グループができています。

       0: nnfolder+archive:sent.2024-08                                         
       4: nnmaildir:eml   ←これ                                               
       0: nnml:mail.misc                                                        
       0: nndraft:drafts      

あとは普通に読むだけです。

P.S
Gnus で multipart/mixed なメールを開くと、iso-2022-jp の text/plain パートが文字化けします。
もし、直し方をご存じの方がいらっしゃいましたら、教えてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です