ドメインを取得し、HomePageを公開したので、どうせならメールもxxx@ドメインにしてみたいと思いメールサーバーを立てることにする。
VineにはすでにPostfixがインストールされているのでPostfixを使う。なお、他のPC(Windows)でメールを送受信できるように受信サーバーとしてdovecotを使う。
今回、Postfixの設定で毎度のごとく、はまってしまい送受信できるようになるまで3週間を費やした(3週間と言っても土日のみしか行えないので実質は6日)。特に、OB25(Outbound Port25 Blocking)の設定でとまどった。
- 設定内容
- メールの送受信は、家のPCからのみとする。(将来的に、外出先からも行えるようにする)
- メールボックスは、1アカウントに対して1ディレクトリにする。メールボックスは、2種類の方法があり、1ファイルに複数のアカウントのメールを取り込む方法と、1アカウントに1ファイルの方法がある。今回は、後者を選択。理由として1ファイル複数アカウントの場合、そのファイルが壊れてしまった場合の影響力が大きいため。
- メールの送信は、SMTP。受信は、POP3にする。
Postfixの入手とインストール
Vineはすでに、Postfixがインストールされています。
バージョンは、2.2.10です。また、下記URLからPostfixの詳細がわかります。
もし、インストールされていない場合は、Apacheなどと同じ方法で行います。
初期設定
Postfixの設定ファイルは、main.cfで/etc/postfix/にあります。
GNOME端末を起動してsuでroot権限に入ります。
と入力しEnter。
以下の部分を追加または修正します。
ドメイン名をxxxxxxx.comとします。
# #myhostname = host.domain.tld #myhostname = virtual.domain.tld myhostname = xxxxxxx.com←70行目に追加。もし、host名がmail.xxxxxxx.comであればその通りに入力。 # #mydomain = domain.tld mydomain = xxxxxxx.com←77行目に追加。登録されているドメイン名を入力。 # #myorigin = $myhostname #myorigin = $mydomain myorigin = $myhostname←93行目に追加。 # inet_interfaces = all←106行目#をはずす。 #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost # The proxy_interfaces parameter specifies the network interface # See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". # #mydestination = $myhostname, localhost.$mydomain, localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain←154行目#をはずす。 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, # mail.$mydomain, www.$mydomain, ftp.$mydomain # #mynetworks = 168.100.189.0/28, 127.0.0.0/8 #mynetworks = $config_directory/mynetworks #mynetworks = hash:/etc/postfix/network_table mynetworks = 192.168.0.0/24, 127.0.0.0/8←256行目に追加。 # permit_mx_backup restriction description in postconf(5). # relay_domains = $mydestination←285行目#をはずす。 # #home_mailbox = Mailbox home_mailbox = Maildir/←410行目#をはずす。 メールボックスを1アカウント1ファイルにするため。 #smtpd_banner = $myhostname ESMTP $mail_name #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) smtpd_banner = $myhostname ESMTP unknown←541行目に追加。 メールサーバーソフトを非表示にする。 message_size_limit = 5242880←最後に追加。 メールの送受信できる容量の制限。今回は、5MBまでにしてみた。 計算方法は、5x1024x1024
ポート25番をあけて終了。Vineの場合は、ディスクトップ→システム管理→セキュリティレベルとファイヤーウォールの設定→SMTPにチェックをいれる。これで、Vine側はOK。
次に、ルータの25番ポートをあける。
ポートチェックでポートが開いているかをチェックします。
メールボックスの作成
メールボックスは、ホームディレクトリーに作成します。たとえば、webmasterというアカウントを作成する場合、/home/webmasterというフォルダーを作成し、その下にMaildirフォルダを作成します。
Maildirの下にnew、cur、tmpのフォルダーを作成します。newフォルダーに送られてきたメールが格納されます。
しかし、ユーザー(アカウント)を追加するたびに、一つ一つ作成するのは大変なので、/etc/skelのフォルダにMaildir以下のフォルダを作成すると、ユーザーを追加時に自動でMaildir以下のフォルダーを作成してくれます。
GNOME端末を起動してsuでroot権限に入ります。
これで、フォルダーができました。次に、属性の変更を行います。
これで、ユーザー追加時に自動で、メールボックスが作成されます。
postfixを起動させます。
GNOME端末を起動してsuでroot権限に入ります。
すでに、起動している場合は、
これで、設定が反映されました。
不正中継を防ぐ
人のメールサーバーを踏み台にして、スパムメールが送られたりします。もし、自分のサーバーが踏み台にされた場合、自分のサーバーがブラックリストに載ってしまうことがあります。これを防ぐため、main.cfに不正中継されないように設定を追加します。
GEDITでmain.cfを開き以下を最後の行に追加します。
smtpd_helo_required = yes disable_vrfy_command = yes strict_rfc821_envelopes = yes allow_percent_hack = yes swap_bangpath = yes allow_untrusted_routing = no smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname,
reject_unknown_client, permit smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch,
check_relay_domains smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch smtpd_etrn_restrictions = permit_mynetworks, reject_invalid_hostname
追加したら、保存しpostfixを再起動します。
再起動後、不正中継されないかチェックをします。
RBL.JP Project.で確認できます。
最後にno relays accepted.と出ればOK。
OB25対策(メールが送信できない)
早速メールを送ろうとしたが、エラーがでて送信できない。そういえばプロバイダーから、他社メールは送信ポートを587に変更してくださいと説明書に書かれていたことを思い出し、設定を変更することにする。
ISPがOB25を行っていなければ、そのまま送信できるはず。
OB25対策(プロバイダがBigLobeの場合)は、ここをクリックしてください。
aliasesの設定
aliasesは、簡単に言うとメールを転送(移動)するためのマップみたいなものです。aliasesのファイルを開けてみるとわかります。以下にファイルの一部を記載します。aliasesは/etc/postfix/にあります。
# Basic system aliases -- these MUST be present. MAILER-DAEMON: postmaster postmaster: root これは、postmasterあてに送られてきたメールをrootに移動させます。 www: webmaster これは、wwwあてに送られてきたメールをwebmasterに移動させます。 www-admin: webmaster webmaster: root または、webmasterあてに送られてきたメールをrootに移動させます。 hostmaster: root root: info これは、rootに送られてきたメールをinfoに移動させます。
この様にすると、最終的にすべて、infoへメールは送られてくる設定になります。
たとえば、以下のように設定するとinfoに来たメールを、携帯のメールに転送することもできます。
設定が終了したら、データベースを作成します。以下のコマンドを実行します。
念のため、postfixを再起動させます。
dovecotの入手とインストール
Vineの、Synapticにdovecotがあるのでインストールします。
バージョンは、1.0.13です。また、下記URLからdovecotの詳細がわかります。
www.dovecot.org(本家)また、日本語翻訳プロジェクトもあります。
初期設定
dovecotの設定ファイルは、dovecot.confで/etc/にあります。
GNOME端末を起動してsuでroot権限に入ります。
と入力しEnter。
# Protocols we want to be serving: imap imaps pop3 pop3s # If you only want to use dovecot-auth, you can set this to "none". protocols = imap imaps pop3 pop3s←20行目#をはずす。 # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = no←45行目#をはずす。 # <doc/wiki/MailLocation.txt> # mail_location = maildir:~/Maildir←209行目#をはずす。 # #pop3_uidl_format = %08Xu%08Xv pop3_uidl_format = %u←621行目#をはずす。
以上で、設定は終了です。dovecotを起動します。
自動起動の設定をします。
あとは、ポート110番をあけて終了。Vineの場合は、ディスクトップ→システム管理→セキュリティレベルとファイヤーウォールの設定で110番ポートをあける。これで、Vine側はOK。
次に、ルータの110番ポートをあける。
あとは、メールクライアント(Outlook Expressなど)を設定して確認します。