ひじりんのひつまむしブログ

現役システムエンジニアのゲームやら映画やら技術やら・・

centosでメールサーバ構築(postfix / dovecot)

送信サーバ

送信サーバは、

とあるが、今回は、postfix を設定する

centos 7 には、デフォルトでインスト済であれば、設定をするだけ

サービスの確認

#  systemctl list-unit-files -t service | grep postfix
postfix.service enabled

初期設定

/etc/postfix/main.cf

のファイルを編集

078: #mail_owner = postfix

094: #myhostname = host.domain.tld

102: #mydomain = domain.tld

132: #inet_interfaces = all

185: #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

439: #home_mailbox = Maildir/

 94/102は、各サーバに合わせて設定

ユーザ設定

ユーザは、centosのユーザと同じ

よって、ユーザにないものを指定するとエラーとなる

ユーザ追加は

#useradd test --shell /sbin/nologin --password $(openssl passwd -1 P@ssw0rd)

ちなみに、/sbin/nologin はシェルとしてログイン不要を指す

再起動

サーバの再起動

# systemctl restart postfix

送信テスト

telnet にてテスト

# telnet localhost 25

HELO domain

MAIL FROM: 受信元メールアドレス

RCPT TO: 送信先メールアドレス

DATA

内容

.

QUIT

 内容は、

from: 送信者

to: 受信者

subject: 件名

内容

内容を入力したあと、. だけの行を入れます

これで、メール送信されたはず

受信サーバ

受信サーバは、

を設定する

centos 7 には、デフォルトでインスト済であれば、設定をするだけ

サービスの確認

#  systemctl list-unit-files -t service | grep dovecot
dovecot-init.service static
dovecot.service enabled

 諸設定

メールディレクトリを変更したため、dovecotも変更する

/etc/dovecot/conf.d/10-mail.conf

30: mail_location = maildir:~/Maildir

SSLの認証を中止するには

/etc/dovecot/conf.d/10-auth.conf

10:disable_plaintext_auth = no

/etc/dovecot/conf.d/10-ssl.conf

8:ssl = no

再起動

サーバの再起動

# systemctl restart dovecot

DNSの設定

これだけでは、メールが届かない

というのは、aaaa@domain

というメールアドレスのサーバがどこかが分からない

そこで、DNSサーバに、mx(mail exchanger)というレコードの追加が必要

100, mail exchanger = ドメイン

そして、ドメインのAレコードを追加

ドメイン xxx.xx.xxx.xx