Email

什么是 SMTP 身份验证?

SMTP 身份验证是证明客户端可以通过 SMTP 服务器提交邮件的登录交换过程。

客户端发送 EHLO 后,服务器会公布可用的身份验证机制。客户端在发送邮件之前需要完成其中一种验证。

SMTP 身份验证在什么时候发生?

客户端建立连接,在需要时启动 TLS,然后发送 EHLO。服务器在响应中列出可用的身份验证机制。客户端随后使用 AUTH 发送机制和凭据。交换成功后,客户端可以发出 MAIL FROM 并继续 SMTP 事务。

RFC 6409 将邮件提交与服务器间中继分离。它要求提交服务器对客户端进行身份验证,除非明确适用例外情况。该默认设置可防止未经授权的提交。发送凭据前请使用加密连接。

机制保护或证明的内容
TLS保护传输中的连接
SMTP AUTH向中继服务器标识提交客户端
SPF、DKIM 和 DMARC授权或验证发送域

RFC 4954 定义了 AUTH 扩展及其成功和失败的回复。AUTH 不能证明收件人会接受该邮件。

SMTP 使用哪些凭据?

中继服务器可以使用用户名和密码、以 API 密钥作为密码,或者它公布的其他机制。将两者都视为机密信息。不要将它们存入源代码管理或日志中,因为任何读取到泄露凭据的人都可以冒用你的账户发送邮件。

身份验证证明客户端可以通过该中继服务器提交邮件,但不能证明收件人会接受该邮件,也不能保证邮件进入收件箱。SPF、DKIM 和 DMARC 等域身份验证处理的是投递的另一个环节。

为什么已通过身份验证的发送仍然会失败?

中继服务器可以在不同阶段拒绝凭据、发送者权限、邮件策略或收件人策略。读取 SMTP 回复代码和文本,找到失败的阶段并修复后再重试。

成功的 AUTH 仅完成了登录。后续的 RCPT TO 回复仍然可以拒绝收件人。接收方提供商仍然可以过滤已接受的邮件。

C: EHLO app.example
S: 250-AUTH PLAIN LOGIN
C: STARTTLS
S: 220 Ready to start TLS
C: EHLO app.example
C: AUTH <credentials omitted>
S: 235 Authentication successful

身份验证失败时,服务器返回 535。切勿将真实密码或 base64 凭据放入日志或示例中。任何读取到的人都可以冒用你的账户发送邮件。

如何使用 Bird 进行身份验证?

使用与你的密钥区域对应的 SMTP 主机。选择端口 587 搭配 STARTTLS,或端口 465 搭配隐式 TLS。使用用户名 bird 和具有 emails 权限范围的 API 密钥作为密码进行身份验证。SMTP 中继指南展示了连接设置和回复处理方式。

总结

  • SMTP 身份验证证明客户端可以通过中继服务器提交邮件。
  • 在加密激活后再进行身份验证。
  • 登录成功不保证投递或进入收件箱。
  • Bird 使用 bird 作为用户名,使用 API 密钥作为密码。

基于同一网络构建。

测试 API 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor