メール環境構築

postfix + fetchmail + procmail + mutt でメール環境を構築する方法です

せっかくですから、MailDir形式を利用してメールを管理します.

(1) Postfix fetchmail procmail の インストール(root権限で作業)

root権限でdeselect又はapt-getでインストールが可能です

# apt-get update
# apt-get install postfix
# apt-get install fetchmail
# apt-get install procmail

今の環境に足りないものをインストールして下さい、Debian(potato)のオフィシャルの物で問題無く使えます.

(2) mutt-j のインストール(root権限で作業)

最新版をmutt japanese editionからダウンロードして来て使いましょう.
幸いに、非公式ならが寺田さんがdebパッケージ版を作成してくれています.
寺田さんに感謝しながら有難く
Downloadして使います.

インストール方法、設定方法も寺田さんが書かれていますので、穴だらけの私の説明は省略させて頂きます. [寺田さん解説のインストール方法他]

(3) PostfixでMailDirを使う為の設定 (root権限で作業)

/etc/postfix/main.cf を開き以下の行を修正

home_mailbox = Maildir/ ※この行が注釈になっているので、先頭の#を削除

(4) メールを受けるアカウントを作成(root権限で作業)

adduser ユーザーアカウント
パスワードを2回聞かれますので、同じものを2度入力し任意に情報を入力して[y]を入力

インターネットメールを受ける為のユーザーアカウントを作成します、rootでの運用はセキュリティ上危険ですので必ずユーザーアカウントを作成して下さい。この時のアカウント名はプロバイダーのアカウントとは全く別のものですので好きに命名して結構です.
又、既に利用中のユーザーアカウントがあれば、そのアカウントを利用して下さい。

(5) fetchmail設定 (メールの受信プログラムです: ユーザーアカウントで作業)

WindowsやSylpheedでは、ユーザーが今だ!と受信ボタンをクリックしてメールを受信します、これが便利な事もあるのですが、せっかくの常時接続ですから定期的に自動受信させておいて、あとからゆっくりとメールを読みたいですよね!?fetchmail を使えばメールを受信する事が出来ます、これをcronで実行するか、デーモンとして起動してやれば、自動でメールを受ける事が可能となります.

~/.fetchmailrc を作成します


poll プロバイダのメールサーバ protocol POP3 ※1
  uidl
  username プロバイダのメールアカウント
  password プロバイダのパスワード
  no mimedecode
  keep ※受信後にメールを削除しない
  mda "procmail" ※受信後にprocmailでメール振り分ける

※1 POP3の場合の設定です、APOPが利用可能な場合には POP3の部分をAPOPに書換えて下さい.

【重要】
設定後直ぐに必ず ~/.fetchmailrc の権限を変更してください、パスワードが外部から読取られて盗まれるかもしれません!

chmod 600 ~/.ferchmailrc

(6) procmailの設定(メールの振分をやってくれます:ユーザーアカウントで作業)

~/.procmailrc を作成します


PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=$HOME/Mail/
#DEFAULT=$MAILDIR/mbox
DEFAULT=$HOME/Maildir/
LOGFILE=$MAILDIR/from
LOCKFILE=$HOME/.lockmail

※PostgreSQLのメーリングリストを振り分ける場合
:0:
* ^TOpgsql-jp@sra.co.jp
※pgsql-jp@sra.co.jpから来たメールを振分
ml/Postgresql/
※ ~/Mail/ml/Postgresql へメールが振分られる

※Delphiのメーリングリストを振り分ける場合
:0:
* ^X-ML-Name: Delphi ※メールヘッダの X-ML-NameがDelphiの場合振分
ml/delphi/
※ ~/Mail/ml/delphi へメールが振分られる

※読む必要の無いダイレクトメールを捨てる
:0:
* ^X-Mailer: .*Direct Email
※最近よく来るDMだが自分がゴミであると宣言(^^;
GOMIBAKO/
※ ~/Mail/GOMIBAKO へメールが振分られる

※ 携帯電話へメールの転送
:0 c
※ cはコピーの意味、転送もするが原文も残す為
* ^To: .*
hoge@hoge.ne.jp ※上記の振分で振分出来なかったもの親展とみなす
!
携帯電話@cct.dion.ne.jp ※携帯電話へ転送してメールの着信を知る


こんな感じで、好きに振分を設定してやると、受信後に即座にメールが振分される
注意すべき点は、procmailで作成されるフォルダは1階層だけのようである、上の例では、~/Mail が既に存在するとすれば、mkdir +700 ~/Mail/ml/ で ml/の部分のフォルダを作成しておく必要がある、これを怠ると振分出来ない.(Postgresqlとかdelphi等の最後の部分は自動で作成される)
又、ml/Postgresql/の最後の "/"はMailDirで管理する場合必ず必要となる
.

(7) mutt の設定 (ユーザーアカウントで作業)

以下のようにmuttがインストールされたと仮定
o 寺田さん版のmutt-j をインストールしたとする.
o 寺田さんの解説通りに.mutt/muttrc をコピーして持ってきたとする.

~/.mutt/muttrc の以下の部分を変更


# Your name and domain
set realname="
貴方の名前" ※氏名
set from="
hoge@hoge.ne.jp"※メールアドレス
set hostname="
hostname"

あと、ユーザーのホームディレクトリに ~/tmp/ が存在しないと動きませんので作成しておいて下さい。

$ mkdir ~/tmp

ここで、muttを一度起動してみます。

$ kon
$ mutt

~/Mail が無いとかエラーが出たら [yes]を入力することで ~/Mailが自動作成されます。

それでは、一度 mutt を終了させて ([q]キーで終了)メールを受信してみます。

$ fetchmail

正しく受信、振分が出来るようになれば、~/.fetchmailrc の "keep" の文字を削除して受信したメールはプロバイダのサーバから削除するようにして下さい。

(8) cronで自動受信 (ユーザーアカウントで作業)

cronの設定に限らずエディタを起動する頻度は高いでしょう、デフォルトのエディタは vi になっているので、私のような素人は jed を使いましょう、インストールしていない場合には jed をインストールして、~/.bashrcへ以下の記述を追加・書換えしておくと便利です

bashの場合 ( ~/.bashrc )


exprot EDITOR=jed ※標準のエディタとして jed を利用する

さて、本題です、私の場合cronを利用してメールを15分間隔で受信しています、APOP対応でない場合に頻繁にメールをアクセスすると、パスワードがネット上を流れる頻度が上がり危険度が増すと云われています、運用は自己責任でお願い致します。

$ crontab -e


0,15,30,45 * * * * fetchmail > /dev/null

後は、[Ctr]+[x] , [Ctr]+[s] , [Ctr]+[x] , [Ctr]+[c] で保存終了して下さい


これで設定は終りました。ではメールをお楽しみ下さい。

転載元
快適メール環境構築(postfix + fetchmail + procmail + mutt)