1.
小分段1:确认需求。明确并记录:并发邮件量、并发连接数、网站流量、是否需要SSL、是否使用数据库、备份要求。
小分段2:选择台湾托管与虚拟主机类型。推荐选择可以开通SSH/Root权限的VPS或云主机,便于配置邮件与虚拟主机(例如选CentOS/Ubuntu)。如果使用共享虚拟主机,确认是否支持自定义MX和DKIM。
2.
小分段1:在域名服务商处添加A记录与MX记录。A记录示例:@ -> 203.0.113.10;www -> 203.0.113.10。
小分段2:添加MX记录示例:MX 10 mail.yourdomain.com(并确保mail.yourdomain.com有A记录指向服务器IP)。同时添加TXT记录:SPF 如:v=spf1 ip4:203.0.113.10 -all。
3.
小分段1:创建系统用户与SSH密钥。示例命令:ssh-keygen -t ed25519;将公钥追加到~/.ssh/authorized_keys。
小分段2:安装防火墙并放行端口。常用端口:80,443,25,587,993,465。iptables/nftables或ufw 示例:ufw allow 22/tcp; ufw allow 80,443,25,587,993。
4.
小分段1:安装Nginx并创建站点目录。sudo apt install nginx;mkdir -p /var/www/yourdomain.com/html。
小分段2:创建服务块 /etc/nginx/sites-available/yourdomain.com 示例: server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } } 启用并重载:ln -s ... && nginx -t && systemctl reload nginx。
5.
小分段1:安装certbot:sudo apt install certbot python3-certbot-nginx。
小分段2:使用certbot自动获取证书:sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com。验证自动续期:sudo certbot renew --dry-run。
6.
小分段1:安装Postfix与Dovecot:sudo apt install postfix dovecot-core dovecot-imapd。
小分段2:Postfix 基本 main.cf 设置(示例关键项): myhostname = mail.yourdomain.com mydomain = yourdomain.com myorigin = /etc/mailname inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 127.0.0.0/8 smtpd_tls_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem smtpd_use_tls=yes smtpd_tls_auth_only = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
7.
小分段1:简单方案:创建系统用户作为邮箱账号:sudo adduser alice; 配置Dovecot使用系统用户。
小分段2:生产方案:使用虚拟用户与数据库(MySQL)。配置Postfix lookup 到 MySQL 表,Dovecot 使用 SQL 验证。示例:创建表 mail_users (username, password) 并在Postfix main.cf、Dovecot conf中引用。
8.
小分段1:安装OpenDKIM:sudo apt install opendkim opendkim-tools;生成密钥:opendkim-genkey -t -s mail -d yourdomain.com,上传 public key 到DNS TXT:mail._domainkey.yourdomain.com。
小分段2:配置Postfix与OpenDKIM集成:在Postfix main.cf 添加 milter_default_action = accept; milter_protocol = 6; smtpd_milters = inet:localhost:8891; non_smtpd_milters = inet:localhost:8891。最后添加DMARC记录:_dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@yourdomain.com".
9.
小分段1:DNS与MX检查:dig +short MX yourdomain.com;dig TXT yourdomain.com;确保MX优先级和A记录正确。
小分段2:邮件连通测试:telnet mail.yourdomain.com 25(或使用 openssl s_client -connect mail.yourdomain.com:465 -quiet),在SMTP会话中尝试 EHLO、MAIL FROM、RCPT TO;查看Postfix日志:sudo tail -f /var/log/mail.log。
10.
小分段1:自动备份邮件与数据库。推荐每日rsync备份/var/mail与/var/vmail及mysqldump并上传到异地存储(S3或另一台服务器)。
小分段2:监控与报警。启用Prometheus + Grafana或使用托管监控,对磁盘、邮件队列、TLS 证书到期做告警。
11.
答:常见失败原因包括:DNS记录错误(MX未指向正确A记录或生效延迟)、SPF/DKIM未配置导致被拒收、SSL证书未启用或配置错误导致加密连接失败、端口被ISP或主机防火墙阻断(25/587/465)。解决方法是按顺序用dig、telnet、openssl排查,修改DNS并等待TTL生效,确保防火墙放行。
12.
答:验证SPF可用dig TXT yourdomain.com 查看包含 v=spf1 记录;验证DKIM可发送邮件到 Gmail 并查看邮件原始信息(查看 d=yourdomain.com 和 DKIM-Signature),或使用第三方工具(mxtoolbox, mail-tester.com)。也可用 opendkim-testkey -d yourdomain.com -s mail 来测试公钥DNS记录。
13.
答:原则上共享虚拟主机限制较多,通常无法在同一主机自建完整邮件服务。如果主机商提供邮箱功能,可通过面板创建邮箱并设置MX/SPF/DKIM(若支持)。否则建议使用托管邮件服务(如Google Workspace、Microsoft 365)或购买可管理VPS以获得完整控制权。