exim4 / dovecot によるメールサーバ構築。 メールサーバは、postfix による構築の情報が多く、 exim4 かつ smtp-auth の構築方法は、あまり情報がなくて、かなり悩んだ。
exim4 / dovecot をインストール
sudo apt install exim4 sudo apt install dovecot-imapd dovecot-pop3d
再設定したい場合
dpkg-reconfigure exim4-config
設定ファイルが分割していないかの確認
grep dc_use_split_config /etc/exim4/update-exim4.conf.conf -> false であればよい
鍵の作成
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
/etc/exim4/dkim.public の 文字列を登録する。
host名:
2026021401._domainkey.ownDomainName
種別:
TXT
内容:
v=DKIM1; t=y; k=rsa; p="dkim.publicの文字列"
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 で確認できる。
host名:
_dmarc.ownDomainName
種別:
TXT
内容:
v=DMARC1; p=none
以下の記載を自分の環境にあわせて確認、もしくは修正・追加する。
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
sudo ufw allow pop3s sudo ufw allow imaps sudo ufw allow 587/tcp
openssl s_client -connect slightknowledge.com:587 -starttls smtp
echo "Test mail from exim4" | mail -s "Test" your-email@example.com