CentOS7 PostfixとDovecotを使ってメールサーバを構築する手順

CentOS7 PostfixとDovecotを使ってメールサーバを構築する手順

CentOS7でPostfixとDovecotを使ってメールサーバを構築する手順を記述してます。急に一時的に、必要になったのでSSLやSPF設定はなしSMTP認証までで構築してます。

環境

  • OS CentOS Linux release 7.7.1908 (Core)
  • Postfix 2.10.1
  • dovecot 2.2.36
  • サーバー さくらのクラウド
  • ドメイン お名前.com

インストール

先に必要なものを全てインストールしておきます。
※ここでは全てrootで作業してます。

# yum install -y postfix dovecot cyrus-sasl cyrus-sasl-*

Postfix設定

postfixを設定を行います。

# vim /etc/postfix/main.cf

編集内容は下記となります。

# ホスト名(fqdn)を指定 mxレコードに設定したvalue
myhostname = mx.example.com
 
# メールで使用するドメイン名
mydomain = test.com
 
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 
# ローカルネットワークを設定
mynetworks_style = host
 
# Maildir形式を指定
home_mailbox = Maildir/
 
# メールサーバのソフト名・バージョンを隠蔽化
smtpd_banner = $myhostname ESMTP unknown
 
# SMTP-Authの設定を下部に追加しておきます
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

postfixの自動起動と起動

# systemctl start postfix
# systemctl enable postfix

saslauthd起動

SMTP認証設定用に自動起動 と起動を行います。

# systemctl start saslauthd
# systemctl enable saslauthd

SMTP認証に個別のユーザー名、パスワードを使用する

# vim /etc/sasl2/smtpd.conf

<編集>
pwcheck_method: auxprop
mech_list: plain login

Dovecot設定

次にDovecotの設定を行います。各ファイルを編集します。

vim /etc/dovecot/conf.d/10-mail.conf
## メールの保存場所をホームディレクトリのMaildirに設定
mail_location = maildir:~/Maildir
vim /etc/dovecot/conf.d/10-auth.conf
## プレーンテキスト認証を許可
disable_plaintext_auth = no
 
## 認証方法にloginを追加
auth_mechanisms = plain login
vim /etc/dovecot/dovecot.conf
## コメントアウトを解除して、ipv6は利用しない
protocols = imap pop3 lmtp
listen = *
vim /etc/dovecot/conf.d/10-master.conf
service auth {
  unix_listener auth-userdb {
    #mode = 0666
    #user = 
    #group = 
  }

  # ここを編集。Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix 
    group = postfix
  }
}
vim /etc/dovecot/conf.d/10-ssl.conf
# SSLを要求はなし
ssl = no

Dovecotの自動起動と起動

# systemctl start dovecot
# systemctl enable dovecot

Firewall設定

firewallが設定してある場合は、許可設定を行います。

# firewall-cmd --zone=public --add-service=smtp --permanent
# firewall-cmd --add-port={110/tcp,143/tcp} --permanent
# firewall-cmd --reload

メールアカウント作成

メールアカウントを作成してみます。
ここではmailtestというアカウントを作成します。

## 新規ユーザー追加時に自動的にメールボックスを作成

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

## ユーザー作成

# useradd mailtest -s /sbin/nologin

## パスワード設定 ここで設定したパスワードで認証します

# passwd mailtest

DNS設定

MXレコードを設定します。
※自分の場合はお名前.comで設定してます。

メーラー設定

outlookの設定例を表示しておきます。