メールサーバーの構築(3)

なかなかバーチャルユーザーでのメールサーバーがうまくいかないので、まずはLinuxユーザーでのメール送受信をしてみました。(今回は成功しています。)

構成はPostfix(とりあえずSSLなしのSMTP) + SASL2によるSMTP-Auth + OP25B対策のためISP(eo)のサーバーを経由 + Courier(IMAP,POP) よってMaildir形式です。いたって標準的な構成です。
外部に解放するポートは
送信に必須(25,587)
WANからSSLなしでメールチェックをする場合に必要(110,143)
WANからSSLありでメールチェックをする場合に必要(995,993)
です。

必要なものをインストールします。

<code>$ su
# apt-get install postfix postfix-tls libsasl2 libsasl2-modules sasl2-bin courier-pop-ssl courier-imap-ssl</code>

courierではWebによる設定(courier-webadmin)について聞かれます。Webベースで設定できるのならそうしておきたいので私は「はい」を選択しておきましたがどちらでもかまいません。
Postfixのインストール時にサーバーのタイプを聞かれますので「インターネットサイト」を選択してください。
「メール名は?」と聞かれたら構築するメールサーバーの「@」以降を入力してください。

では、Postfixの設定ファイルを編集します。
ますは「/etc/postfix/main.cf」を。
0.基本的な変更

<code>mydomain = hogehoge.com</code>

を追記。(これは適時書き換えてください)

<code>myorigin = mail.hogehoge.net
mydestination = $myhostname, localhost.$mydomain, localhost</code>

に変更
1.Maildir形式にする。

<code>mailbox_command = procmail -a "$EXTENSION"</code>

<code><font color="#0000FF">#</font>mailbox_command = procmail -a "$EXTENSION"</code>

としてコメントアウト

<code>home_mailbox = Maildir/</code>

を追加
2.SASL2によるSMTP-Authの有効

<code>smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_auth_destination,reject
smtpd_sasl_path = smtpd
broken_sasl_auth_clients = yes</code>

を追加
3.OP25B対策のためISPのSMTPを経由するように変更

<code>relayhost = </code>

<code>relayhost = <font color="#0000FF">[smtpauth.eonet.ne.jp]:587</font></code>

に。これはISPのSMTP-Authサーバーのアドレスにしてください。

<code>smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/isp_auth
smtp_sasl_security_options = noanonymous</code>

を追加。

次に「/etc/postfix/master.cf」を編集
「smtp inet n – – – – smtpd」の下に

<code>  -o smtpd_sasl_auth_enable=yes</code>

を追加(最初のスペースは不可欠)

<code><font color="#0000FF">#</font>submission inet n       -       -       -       -       smtpd
<font color="#0000FF">#</font>  -o smtpd_sasl_auth_enable=yes
<font color="#0000FF">#</font>  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</code>

<code>submission inet n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</code>

に変更(コメント解除)し、その下に

<code>  -o smtpd_etrn_restrictions=reject</code>

を追加。

ISPのメールサーバーにログインするためのユーザー名とパスワードを登録します。
「/etc/postfix/isp_auth」を作成し以下のように記述して保存します。

<code>[smtpauth.eonet.ne.jp]:587 ユーザー名:パスワード</code>

そしてDB化

<code># postmap /etc/postfix/isp_auth</code>

最後にSASLにSMTPのユーザー名とパスワードを登録します。

<code># saslpasswd2 -c -u `postconf -h myhostname` ユーザー名</code>

パスワードを二回聞かれるのでSMTP認証に使いたいパスワードを設定してください。
初回時に以下のコマンドも実行してください。

<code># chgrp postfix /etc/sasldb2
# chmod g+r /etc/sasldb2
# ln /etc/sasldb2 /var/spool/postfix/etc</code>

ユーザーを削除するときは

<code># saslpasswd2 -c -u `postconf -h myhostname` ユーザー名</code>

これでLinuxユーザー名とパスワードでメール送受信ができるはずです。
POPのパスワードはLinuxユーザーのパスワードを利用し,SMTPへはSASLで設定したパスワードを利用します。

コメントを残す

メールアドレスが公開されることはありません。

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*