| Postfixの説明 |
メールサーバーを構築する場合、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP/IMAPサーバー)の構築が必要です。
ここでは、送信メールサーバーには Postfix 受信メールサーバーには courier-imap(Maildir方式) を採用する。
Postfix を外部から利用する為には、POP before SMTP か、SMTP-Auth の送信認証機能が、必要です。
このサイトでは、迷惑メールの不正中継に利用されないようにするため、外部(サーバー機以外)から、安全に送信できるようにするため、POP before SMTP 機能で、構築することにします。
| Maildir とは? |
MTA(主にsendmail,postfix,qmailなど)のメールの格納方式には Mailbox方式とMaildir方式があります。
Mailbox方式
/var/spool/mail/ユー ザー名というファイルにメールを蓄える方式で、1つの ファイルに複数のメールを蓄えます。
Maildir方式
/home/ユーザー名/Maildir/newとい言うディレクトリの中に、1つのメールにつき1つのファイルを使用する方式です。
| Maildir にする理由 |
Mailbox形式だと、1人のユーザー宛のメールは全て1つのファイルに格納される為、
ファイルが壊れると全てのメールが読めなくなる可能性があります。
しかしMaildir形式では、ファイルが壊れても1通のメールが読めなくなるだけで被害を最小限に抑える事が可能です。
また、Mailbox形式の場合、あるユーザーのメールでディレクトリが一杯になると、他のユーザーのメールが配送できなくなる可能性があります。
しかしMaildirならば、ユーザーのホームディレクトリに容量制限(quota)で制限をかけてしまえば事前に被害を防ぐ事が可能です。
上記の理由でYosi はMaildir をお勧めし、当サイトでは Maildir にて構築して行きます。
| Maildir を作製する |
Maildir方式を使用するにあたり /home/ユーザー名 の中にMaildir と言うディレクトリを作成する必要があります。
| # mkdir /home/ユーザー名/Maildir /home/ユーザー名/Maildir のアクセス権を変更 # chown -R 所有者:グループ名 /home/ユーザー名/Maildir 例) # chown -R yosi:yosi /home/yosi/Maildir ← 所有者、グループ名が yosi の場合 ※ 当サイト ユーザーの追加と削除 に記載の方法でユーザーを作成した場合、所有者、グループ名は同じになります。 |
※ Maildir を自動作製する
etc/skel/の中身のディレクトリがユーザーを追加した時に自動で作成されます
なので skel の中に Maildir フォルダを作成しておくといちいち、後からディレクトリを作ったり、アクセス権を
変更する手間が省かれます。
| Postfixの基本設定 |
etc/postfix/main.cf をエディタで編集していきます。
main.cfの上から、設定箇所のみ記載して行きます。
myhostname = server.xxxx.net ←ホスト名.ドメイン名を指定 mydomain = xxxx.net ← ドメイン名を指定 myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain $mydomain # 550を指定し、存在しないユーザー宛てのメールを拒否し、即座にエラーメッセージを返すようします unknown_local_recipient_reject_code = 550 ← コメントにする (# があれば削除) #unknown_local_recipient_reject_code = 450 ← # をつけてコメントアウト mynetworks = 192.168.0.0/24, 127.0.0.0/8 ← 内部ネットワークアドレスとローカルホストアドレスを指定 relay_domains = $mydestination alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases home_mailbox = Maildir/ ← メールボックスをMaildir方式を指定 ※ メールボックスと、メールに容量制限する場合以下の二項目を追記します mailbox_size_limit = 30720000 ←メールボックスの容量制限(例 30Mb) message_size_limit = 1024000 ←メールのサイズ容量制限(例 1Mb) smtpd_banner = $myhostname ESMTP unknown ← メールサーバー名を隠す ※メールボックスをMaildir方式を使用するので以下の二項目をコメントアウト #mail_spool_directory = /var/spool/mail #mailbox_command = /some/where/procmail -a "$EXTENSION" allow_percent_hack = yes |
| main.cfの編集が終われば、postfixを再起動する。 # /etc/rc.d/init.d/postfix restart |
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.