feat(admin): 优化 DNS 记录展示与解析

- 为 DNS 记录补充说明文案,帮助理解 MX、SPF、DKIM、DMARC 的作用。
- 将 MX 记录目标改为 `PublicHostname`,避免固定指向 `mail` 子域。
This commit is contained in:
LanQin_
2026-06-16 11:15:03 +08:00
parent bce4b5980e
commit c1eb616759
2 changed files with 28 additions and 5 deletions
+2 -4
View File
@@ -34,11 +34,9 @@ func (a *App) handleDNSCheck(w http.ResponseWriter, r *http.Request) {
func (a *App) dnsRecordsFor(d *Domain) []DNSRecord {
name := strings.TrimSuffix(d.Name, ".")
// MX 建议使用 mail.<域名> 标准格式,而不是直接用 PublicHostname
// 避免 PublicHostname 等于域名本身时出现 MX 指向自己的问题
mxHost := "mail." + name + "."
host := strings.TrimSuffix(a.cfg.PublicHostname, ".") + "."
return []DNSRecord{
{Type: "MX", Name: name, Value: fmt.Sprintf("10 %s", mxHost), TTL: 300},
{Type: "MX", Name: name, Value: fmt.Sprintf("10 %s", host), TTL: 300},
{Type: "TXT", Name: name, Value: "v=spf1 mx -all", TTL: 300},
{Type: "TXT", Name: d.DKIMSelector + "._domainkey." + name, Value: "v=DKIM1; k=rsa; p=" + d.DKIMPublicKey, TTL: 300},
{Type: "TXT", Name: "_dmarc." + name, Value: "v=DMARC1; p=quarantine; rua=mailto:postmaster@" + name, TTL: 300},