You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一域名下网站与邮件服务器分机部署的配置要求咨询

当然可以!把邮件服务器和网站服务器部署在不同机器上是非常常见的做法,尤其是当你想拆分负载、专注不同服务的运维时。针对你用Ubuntu+Postfix+SquirrelMail的环境,需要满足以下几个核心要求:

核心配置要求

1. 正确配置DNS记录

这是邮件系统正常运行的基础,所有邮件服务都依赖DNS来定位服务器:

  • A记录:为mail.website.com创建一条A记录,指向PC2的IP地址(公网环境用公网IP,内网环境用内网IP)。
  • MX记录:为website.com设置MX记录,目标指向mail.website.com,优先级建议设为10(数字越小优先级越高,单服务器场景下数字可随意设置)。
  • SPF记录:添加一条TXT类型的SPF记录到website.com,声明允许代表你的域名发送邮件的服务器,示例规则:v=spf1 mx a:mail.website.com -all(表示仅MX记录指向的服务器和mail.website.com可发件,其他来源直接拒绝)。
  • (可选但推荐)DKIM/DMARC记录:DKIM给邮件添加数字签名,DMARC告知收件服务器如何处理不符合SPF/DKIM的邮件,能大幅降低你的邮件被标记为垃圾邮件的概率。

2. PC2的网络与防火墙设置

确保邮件服务能正常被访问并对外通信:

  • 开放必要端口:Ubuntu上用ufw配置防火墙,开放以下关键端口:
    • SMTP:sudo ufw allow 25/tcp(用于邮件服务器之间的传输)
    • IMAP:sudo ufw allow 143/tcp(SquirrelMail默认用IMAP读取邮件)
    • 加密端口(可选):sudo ufw allow 465/tcp(SMTPS)、sudo ufw allow 993/tcp(IMAPS),提升通信安全性
  • 固定IP地址:公网环境下PC2需要固定公网IP;如果是动态IP,需搭配动态DNS服务保持mail.website.com的IP指向正确。
  • 网络连通性:确保PC2能正常访问外网,尤其是能和主流邮件服务商(如Gmail、Outlook)的服务器通信,否则无法发送外部邮件。

3. Postfix与Dovecot的配置

Postfix负责邮件传输,Dovecot提供IMAP/POP3服务让SquirrelMail能读取邮件:

Postfix配置步骤

  1. 安装Postfix:sudo apt install postfix,安装时选择"Internet Site",设置邮件域名为website.com。
  2. 编辑主配置文件/etc/postfix/main.cf,确保以下参数正确:
    myhostname = mail.website.com
    mydomain = website.com
    inet_interfaces = all  # 允许监听所有网卡,而非仅localhost
    mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
    
  3. 重启Postfix生效:sudo systemctl restart postfix

Dovecot配置步骤

  1. 安装Dovecot IMAP服务:sudo apt install dovecot-imapd
  2. 编辑/etc/dovecot/conf.d/10-mail.conf,确认邮件存储目录:
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
    
  3. 编辑/etc/dovecot/conf.d/10-auth.conf,开启明文认证(若使用加密可后续关闭):
    disable_plaintext_auth = no
    auth_mechanisms = plain login
    
  4. 重启Dovecot:sudo systemctl restart dovecot

4. SquirrelMail的配置

SquirrelMail作为Web邮件客户端,需要和本地Dovecot服务对接:

  1. 安装SquirrelMail:sudo apt install squirrelmail
  2. 运行配置向导:sudo /usr/sbin/squirrelmail-configure,完成关键配置:
    • 设置IMAP服务器为localhost(因SquirrelMail与Dovecot在同一机器)
    • 设置IMAP端口为143(使用加密则设为993)
    • 设置邮件域名为website.com,用户可通过user@website.com或直接user登录
  3. 配置Web服务器(以Apache为例):
    创建虚拟主机配置文件/etc/apache2/sites-available/mail.website.com.conf:
    <VirtualHost *:80>
        ServerName mail.website.com
        DocumentRoot /usr/share/squirrelmail
        <Directory /usr/share/squirrelmail>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
    启用虚拟主机并重启Apache:sudo a2ensite mail.website.com.conf && sudo systemctl restart apache2

5. 测试与验证

完成配置后务必验证功能是否正常:

  • 测试DNS记录:用nslookup mail.website.com检查A记录,nslookup -type=mx website.com检查MX记录是否正确。
  • 测试本地邮件:在PC2执行echo "Test content" | mail -s "Local test" yourusername@website.com,登录http://mail.website.com查看是否收到邮件。
  • 测试外部邮件发送:用SquirrelMail发邮件到外部邮箱(如xxx@gmail.com),检查收件箱及垃圾邮件箱,确认SPF配置生效。
  • 测试外部邮件接收:用外部邮箱发邮件到yourusername@website.com,登录SquirrelMail查看是否能收到。

内容的提问来源于stack exchange,提问作者SlobodanT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:48:15