# 安全证书上的名称无效或不匹配：Outlook 证书警告怎么办

> Outlook 提示安全证书名称无效，是因为自动发现、IMAP 或 SMTP 连到的服务器证书不包含所用主机名。改用证书上的主机名或修复证书即可。

Source: https://ssl.sh/zh/errors/outlook-certificate-warning/
Last updated: 2026-11-10

**Outlook 弹出这个警告，是因为它连到的服务器出示的证书里没有它使用的主机名。** 大多数时候 Outlook 没连到你的邮件服务器：要么自动发现把它带到了网站的主机上，要么账户设置里用了一个邮件服务器证书不覆盖的别名。

## 快速修复

多数情况把 Outlook 里的收发服务器改成证书上的主机名，或者修好自动发现的 DNS，警告就会消失。

1. 在安全警告框里点“查看证书”，记下“颁发给”的名称和颁发者。
2. 对照“文件 → 账户设置 → 服务器设置”里的收件（IMAP/POP）和发件（SMTP）服务器名称。
3. 如果证书写的是服务商的服务器名（比如 `server12.hosting.example`），就把收发服务器都改成这个名字。
4. 如果证书属于网站主机，而且提示里出现 `autodiscover`，修复自动发现的 DNS（见下文）。

直接测试邮件端口，也可以用 [STARTTLS 检测](https://ssl.sh/zh/tools/starttls-checker/)：

```bash
openssl s_client -connect mail.example.com:993 -servername mail.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName
openssl s_client -starttls smtp -connect mail.example.com:587 -servername mail.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject
```

## 原因

最典型的是自动发现连到了网站主机，其次是服务器设置用了证书不覆盖的别名。

### 1. 自动发现连到了网站而不是邮件服务

Outlook 会按顺序尝试 `https://example.com/autodiscover/autodiscover.xml`、`https://autodiscover.example.com/...` 等位置。如果根域名的网站服务器用另一个名字的证书响应，Outlook 就会警告。

- **确认：** 警告里出现 `autodiscover` 或 `example.com`，查看到的证书是你网站主机的。
- **修复：** 按邮箱服务商文档，把 `autodiscover.example.com` 设置成他们给出的 CNAME，或按要求添加 `_autodiscover._tcp` 的 SRV 记录；同时确认 `example.com` 网站本身有覆盖该名字的有效证书。在 DNSPod、阿里云解析里添加即可。

### 2. 服务器设置用了别名

`mail.example.com` CNAME 到服务商，但服务商的证书只写了它自己的主机名。

- **确认：** 上面的 `openssl s_client` 显示 subject 和 SAN 里都没有 `mail.example.com`。
- **修复：** Outlook 里填服务商的主机名，或者请服务商签发包含你别名的证书。

### 3. 邮件服务器用了自签名或私有证书

- **确认：** “颁发给”和“颁发者”相同（即[自签名证书](https://ssl.sh/zh/glossary/self-signed-certificate/)），或者颁发者是内部 CA。
- **修复：** 为邮件主机名安装公网受信任证书（见 [SMTP STARTTLS 证书错误](https://ssl.sh/zh/errors/smtp-starttls-certificate-error/)）。内部 Exchange 改用公网域名。

### 4. 证书过期

- **确认：** 提示证书已过期，或者“查看证书”里的有效期已经过去。
- **修复：** 在邮件服务器上续期，然后重启或重载 IMAP、SMTP、Exchange 相关服务。

### 5. 杀毒软件扫描邮件

部分安全软件会拦截 IMAP/SMTP 的 TLS 连接，出示自己的证书，原理见[杀毒软件 HTTPS 扫描](https://ssl.sh/zh/errors/antivirus-https-scanning-ssl-error/)。

- **确认：** 颁发者是安全软件的名字。
- **修复：** 更新软件让它正确安装根证书，或者关闭它的邮件扫描功能。

## 各环境修法

不管邮件服务器在哪里，Outlook 里填写的主机名都必须出现在服务器证书上。

**Exchange Server（本地部署）：** 把 `InternalUrl`、`ExternalUrl`、`AutoDiscoverServiceInternalUri` 设置为证书上的名字，再在 Exchange 管理中心把证书分配给 IIS、IMAP、POP、SMTP 服务。

**Microsoft 365 加外部网站主机：** `autodiscover.example.com` 按租户文档指向微软；网站自己的证书只需要覆盖网站用到的名字。

**虚拟主机自带邮箱（cPanel、宝塔邮局等）：** 很多主机商会公布“安全连接”应使用的服务器主机名，优先用它，除非主机商为 `mail.example.com` 签发了证书。宝塔邮局插件可以给邮件域名申请证书，申请后在 Outlook 里填同样的名字。

**国内企业邮箱：** 腾讯企业邮、阿里企业邮箱、网易企业邮箱都有官方的 IMAP/SMTP 地址和端口说明，按说明填写，并勾选 SSL。

**Outlook for Mac 和手机客户端：** 检查方式相同，修法一样。

## 不要这样做

把证书装成受信任、改用明文端口、让员工一律点“是”，都会让邮件暴露在真实的拦截之下。

- **把出示的证书在每台电脑上安装成“受信任”来消除提示。** 以后攻击者的证书出现时，你也会一样信任它。
- **改用不加密的 143/110/25 端口。** 邮箱密码会以明文发送。
- **告诉员工“遇到就点是”。** 这等于训练他们在遇到真实拦截时也点“是”。
