yumからパッケージインストールを実行します。
# yum install postfix
インストール内容を確認し、”y”を入力します。
Is this ok [y/N]:y
インストールに成功すると下記出力が確認できます。
Complete!
Postfix設定ファイルの編集を行います。
$ sudo vi /etc/postfix/main.cf
... #myhostname = virtual.domain.tld myhostname = mail.△△△.jp
myhostnameにはメールサーバに使用する自身のホスト名を記載します。
... #mydomain = domain.tld mydomain = △△△.jp
mydomainには自身のドメイン名を記載します。
#myorigin = $mydomain myorigin = △△△.jp
myoriginには自身のドメイン名を記載します。メール送信者の”~@「△△△.jp」”部分となります。
... #inet_interfaces = $myhostname, localhost inet_interfaces = localhost
下記の様に編集します。
... #inet_interfaces = $myhostname, localhost inet_interfaces = all
メール受信の範囲をlocalhost(ローカル内)からall(外部まで)に変更することで、外部からのメールも受信できます。
... mydestination = $myhostname, localhost.$mydomain, localhost
下記の様に編集します。
... mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomainを追加する事で、自身のドメイン宛のメールも受信できます。
#home_mailbox = Maildir/
下記の様に追加します。
#home_mailbox = Maildir/ home_mailbox = Maildir/
MailboxをMaildir形式に変更します。
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
下記の様に編集します。
smtpd_banner = $myhostname ESMTP unknown
メールにメールサーバのバージョンが載るのを防ぎます。(バージョンのセキュリティホールを狙われる可能性がある為)
外部の悪意ある第三者から、メールサーバを不正利用させない為、認証を使用します。
以下の内容を最終行に追記します。
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
SMTP認証デーモンを起動します。
$ sudo service saslauthd start saslauthd を起動中: [ OK ]
SMTP認証デーモンは初期設定ではOFFとなっている為、自動起動する様設定します。
# chkconfig saslauthd on
自動起動がON(ランレベル2,3,4,5でON)となっている事を確認します。
# chkconfig --list saslauthd saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
認証で使用されるパスワードは、システムのユーザ・パスワードと同一となります。
Mailbox形式の追加に伴い
新規ユーザのホームディレクトリに受信Maildirの自動作成が行われる様設定します。
# sudo mkdir -p /etc/skel/Maildir/{new,cur,tmp}
デフォルトで動作しているsendmailを停止させます。
$ sudo /etc/rc.d/init.d/sendmail stop sm-client を停止中: [ OK ] sendmail を停止中: [ OK ]
sendmailの自動起動を外します。
$ sudo chkconfig sendmail off
sendmailの自動起動が無効になっている事を確認します。
$ sudo chkconfig --list | grep sendmail sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
システムで使用するメールにPostfixを指定します。
$ alternatives --config mta 2 プログラムがあり 'mta' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix
下記では”2”を選択します。
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
Postfixを起動します。
$ sudo /etc/rc.d/init.d/postfix start postfix を起動中: [ OK ]
Postfixの自動起動を有効化します。
$ sudo chkconfig postfix on
自動起動が有効になっているかを確認します。
$ sudo chkconfig --list | grep postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
yumからインストールを行います。
$ sudo yum install dovecot
下記確認が出ますので、内容を確認し”y”を入力します。
Is this ok [y/N]:y
インストールが完了すると下記出力が確認できます。
Complete!
設定ファイルを編集します。
$ sudo vi /etc/dovecot.conf
# 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
Dovecot使用プロトコルにimap,popアクセスを追加します。
# 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 protocols = imap imaps pop3 pop3s
# mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
メール配送先にMaildirを指定します。
# mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n mail_location = maildir:~/Maildir
Dovecotを起動します。
$ sudo service dovecot start Dovecot Imap を起動中: [ OK ]
自動起動を有効にします。
$ sudo chkconfig dovecot on
自動起動が有効になったことを確認します。
$ chkconfig --list | grep dovecot dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
メールの送信をテストを行います。
$ mail <有効なメールアドレス>
入力待機の状態となるので以下を入力します。
Subject:<任意の題名> <任意の本文>
入力後、<Ctrlキー+D> を2回(※1回目はCC設定)で送信となります。
送信先のメールボックスを確認し、メールが届いていることを確認します。
/var/log/maillogの出力にてエラー(mail.warningやmail.error)が出力されていないことを確認します。
メールの受信テストを行います。
ローカル以外のメールアドレスからメールを送信します。
サーバ側へのメールは<ユーザ名>@<ホスト名>を宛先にして送信してください
宛先にしたユーザの/Maildir/new/配下にメールが届いていることを確認します。
/var/log/maillogの出力にてエラー(mail.warningやmail.error)が出力されていないことを確認します。
以上でメールの送受信検証は完了です。
Postfix,Dovecotの共に/var/log/maillogがログ出力先となります。