====== メールサーバ構築 ======
exim4 / dovecot によるメールサーバ構築。
メールサーバは、postfix による構築の情報が多く、
exim4 かつ smtp-auth の構築方法は、あまり情報がなくて、かなり悩んだ。
===== 準備 =====
exim4 / dovecot をインストール
sudo apt install exim4
sudo apt install dovecot-imapd dovecot-pop3d
----
===== 設定 (exim4) =====
再設定したい場合
dpkg-reconfigure exim4-config
----
=== 設定事項: ===
- IP-addresses to listen on for incoming SMTP connections: → empty
- 設定ファイルの分割はしない
- 方式 → Maildir # dovecot を使用するため
- ローカル(自身のホスト) からの中継を許可する # smtp-auth のため(悩みポイント)
設定ファイルが分割していないかの確認
grep dc_use_split_config /etc/exim4/update-exim4.conf.conf
-> false であればよい
----
==== SPF / DKIM ====
鍵の作成
openssl genrsa -out /etc/exim4/dkim.private 1024
chown root:Debian-exim /etc/exim4/dkim.private
chmod 640 /etc/exim4/dkim.private
openssl rsa -in /etc/exim4/dkim.private -out /etc/exim4/dkim.public -pubout -outform PEM
----
DKIM_SELECTOR = 2026021401 # 適当な番号
DKIM_PRIVATE_KEY=/etc/exim4/dkim.private
DKIM_CANON=relaxed
DKIM_DOMAIN=ownDomainName # ドメイン名
MAIN_TLS_ENABLE = true
----
=== DNS への登録 ===
== 登録 1 ==
/etc/exim4/dkim.public の 文字列を登録する。
----
host名:
2026021401._domainkey.ownDomainName
種別:
TXT
内容:
v=DKIM1; t=y; k=rsa; p="dkim.publicの文字列"
----
== 登録 2 ==
host名の "TXT エントリーに以下を追加
v=spf1 ip4:xxx.xxx.xxx.xxx ip6:aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh ~all
ここで、"ip4:xxx.xxx.xxx.xxx" "ip6:aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh" は
構築しているメールサーバのアドレス。
** ip6 のアドレスが用いられていることがあるので、両方登録するのがよい**(悩みポイント)。
google で確認できる。
----
==== DMARC ====
=== DNS への登録 ===
host名:
_dmarc.ownDomainName
種別:
TXT
内容:
v=DMARC1; p=none
===== 設定 (dovecot) =====
以下の記載を自分の環境にあわせて確認、もしくは修正・追加する。
listen = *
----
disable_plaintext_auth = yes
----
mail_location = maildir:~/Maildir
----
inet_listener imaps {
port = 993
ssl = yes
}
inet_listener pop3s {
port = 995
ssl = yes
}
unix_listener /var/spool/exim4/private/auth {
mode = 0660
user = Debian-exim
group = Debian-exim
}
----
SSL の設定
ssl = yes
ssl_cert = <"fullchain.pem file of ownDomain"
ssl_key = <"privkey.pem file of ownDomain"
----
ログファイルの設定
log_path = /var/log/dovecot/dovecot.log
----
ディレクトリの作成、所有権の設定
mkdir /var/log/dovecot
chown dovecot:dovecot /var/log/dovecot
mkdir -p /var/spool/exim4/private
chown Debian-exim:Debian-exim /var/spool/exim4/private
----
確認
ls -F /var/spool/exim4/private/auth
# /var/spool/exim4/private/auth= となっていれば OK
----
===== Firewall の許可 =====
sudo ufw allow pop3s
sudo ufw allow imaps
sudo ufw allow 587/tcp
----
===== テスト =====
==== SSL 接続 ====
openssl s_client -connect slightknowledge.com:587 -starttls smtp
==== メールサーバーからの送信 ====
echo "Test mail from exim4" | mail -s "Test" your-email@example.com