Linux上有多种邮件服务器软件可选,最流行的包括: - Postfix - 轻量级、安全、易配置 - Exim - 功能强大,配置灵活 - Sendmail - 历史悠久但配置复杂
本指南以Postfix+Dovecot组合为例,这是目前最常用的方案。
sudo hostnamectl set-hostname mail.example.com
# 编辑/etc/hosts文件,确保包含:
127.0.0.1 mail.example.com mail localhost
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d
sudo yum install postfix dovecot
sudo systemctl enable postfix dovecot
sudo systemctl start postfix dovecot
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
mailbox_command =
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
sudo systemctl restart postfix
protocols = imap pop3
mail_location = maildir:~/Maildir
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
disable_plaintext_auth = no
auth_mechanisms = plain login
sudo systemctl restart dovecot
sudo adduser username
# 设置密码
sudo passwd username
# 开放SMTP(25), SMTP over SSL(465), SMTP submission(587), IMAP(143), IMAPS(993), POP3(110), POP3S(995)
sudo ufw allow 25,465,587,143,993,110,995/tcp
telnet mail.example.com 25
EHLO example.com
MAIL FROM: test@example.com
RCPT TO: username@example.com
DATA
Subject: Test email
This is a test email.
.
QUIT
使用邮件客户端(如Thunderbird)配置账户测试收发邮件。
在DNS中添加TXT记录:
v=spf1 mx -all
安装并配置OpenDKIM:
sudo apt install opendkim opendkim-tools
在DNS中添加TXT记录:
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"
mailq
/var/log/mail.log
或 /var/log/maillog
邮件被标记为垃圾邮件
无法接收外部邮件
认证失败
邮件发送延迟
postqueue -p
通过以上步骤,您应该能够在Linux系统上成功部署一个功能完整的邮件服务器。根据实际需求,您可能需要进一步配置反垃圾邮件、病毒扫描等功能。