

Postfix と Dovecot を使ってメールサーバーを建てました。  
メールの送受信は問題なく行えています。

sshで繋いで操作している時にサクッと内容を確認したい事が度々あるのですが、ファイルの正しい開き方がわかりません。  
受信したメールは`~/Maildir/new/`に格納されますが、`cat`コマンドで開くと文字化けしてしまいます。

自分のメールだけでなく、rootユーザーの時に他のユーザーのメールを確認したい時などはどのようにして確認するのがよいのでしょうか。

初歩的な質問かもしれませんが上手く検索して見つけることが出来なかったので教えて下さい。  
よろしくお願いします。


CC BY-SA 3.0
2016-06-03T02:45:30.093
25406
2016-06-05T14:30:23.963
2016-06-05T14:30:23.963
3061
9149
question
centos postfix dovecot
CentOS, Postfix, Dovecotでメールを標準出力で確認したい


文字コードの変換機能を備えたページャ、具体的には lv や nkf や iconv などのツールで変換すれば良いと思います。


CC BY-SA 3.0
2016-06-03T09:04:08.360
25416
2016-06-03T09:14:18.923
2016-06-03T09:14:18.923
15737
15737
25406
answer


CentOS 6, 7 の mailx であれば、`mailx -f ~/Maildir` で読めると思います。

「文字化け」はエンコーディングの違いによるものなのか、Base64, Quoted-printable などがそのまま表示されるのか、どちらでしょうか。  
前者であれば、メールヘッダに charset が正しく設定されていて、シェルの環境変数およびターミナルエミュレーターのエンコーディングを合わせれば
mailx で読めたと思います。  
(例) `LANG=ja_JP.UTF-8 mailx -f ~/Maildir`


CC BY-SA 3.0
2016-06-04T16:45:32.037
25453
2016-06-04T16:45:32.037
4603
25406
answer


Dovecot を利用していて root 権限があるなら `doveadm`(1) で検索・取得するのがよいでしょう。

ユーザー `alice` の新着メールメッセージのボディ部すべてを取得する例:

[code]

    # doveadm search -u alice NEW \
      |while read mailbox_guid uid; do
        doveadm fetch -u alice body mailbox-guid $mailbox_guid uid $uid
      done \
    ;
    
[/code]

詳しくはオンラインマニュアル `doveadm-search`(1), `doveadm-search-query`(7), `doveadm-
fetch`(1) を参照。


CC BY-SA 3.0
2016-06-05T14:30:00.260
26476
2016-06-05T14:30:00.260
3061
25406
answer