在Ubuntu系统上搭建邮件服务器是一个涉及多个步骤的过程,主要包括安装必要的软件、配置域名解析、设置邮件传输代理(MTA)和邮件投递代理(MDA),以及确保安全性等。以下是详细的指南:
准备工作
- 一台公网服务器:确保服务器不被服务商限制发件和收件的端口,如25、110、143、465、587、993、995等。如果服务器位于防火墙或安全组之后,需要开放这些端口。
- 一个域名:建议使用com、cn、org等一级域名,并确保域名已备案(如果服务器在国外则可能不需要备案)。
安装并配置Postfix(作为MTA)
- 更新系统并安装Postfix:
sudo apt update sudo apt install postfix mailutils
- 配置Postfix:
- 安装过程中会提示选择配置类型,选择“Internet Site”。
- 输入邮件地址的域名部分,如
abc.com
。 - 输入邮件系统的域名,如
mail.abc.com
。 - 设置Postfix管理员的邮箱地址,如
admin@abc.com
。 - 其他选项保持默认即可。
- 配置邮箱目录:
sudo postconf -e 'home_mailbox = Maildir/'
- 配置SMTP认证:
sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'myhostname = mail.abc.com' sudo postconf -e 'smtpd_sasl_local_domain = myhostname' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_security_options = noanonymous,noplaintext' sudo postconf -e 'disable_dns_lookups = no' sudo postconf -e 'mydestination = myhostname, localhost.mydomain, localhost, mydomain' sudo postconf -e 'mynetworks = 127.0.0.0/8' sudo postconf -e 'mailbox_size_limit = 0' sudo postconf -e 'recipient_delimiter = ' sudo postconf -e 'inet_interfaces = all' sudo postconf -e 'inet_protocols = all' sudo postconf -e 'myorigin = /etc/mailname' sudo postconf -e 'alias_maps = hash:/etc/aliases' sudo postconf -e 'alias_database = hash:/etc/aliases' sudo postconf -e 'mydestination = mail.abc.com, abc.com, localhost.abc.com, localhost'
- 重启Postfix服务:
sudo systemctl restart postfix
安装并配置Dovecot(作为MDA)
- 安装Dovecot:
sudo apt install dovecot-imapd dovecot-pop3d
- 配置Dovecot:
- 编辑
/etc/dovecot/dovecot.conf
文件,取消注释以下行并做相应修改:
!include_try /etc/dovecot/dovecotsql.conf.ext !include_try /etc/dovecot/dovecotldap.conf.ext !include_try /etc/dovecot/dovecotauth.conf.ext !include_try /etc/dovecot/dovecotdict.conf.ext
- 创建用户:
sudo adduser steve
- 设置用户密码:
sudo passwd steve
- 重启Dovecot服务:
sudo systemctl restart dovecot
测试与验证
- 测试发送邮件:使用命令行工具
telnet
或sendmail
测试发送邮件功能。
echo "test email" | mail -s "Test Email" youremail@example.com
- 检查日志文件:查看Postfix和Dovecot的日志文件以确保没有错误信息,日志文件通常位于
/var/log/mail.log
和/var/log/dovecot.log
。