关键字:domainvrfy、localvrfy、vrfyallow、vrfydefault、vrfyhide
VRFY 命令使 SMTP 客户机能够向 SMTP 服务器发送请求,请求验证特定用户名称的邮件是否位于服务器中。VRFY 命令是在 RFC 821 中定义的。
服务器将发送响应,表明用户是否本地用户、是否要转发邮件等。编号为 250 的响应表示用户名是本地的;编号为 251 的响应表示用户名不是本地的,但服务器可以转发邮件。服务器响应包含邮箱名称。
正常情况下,没有理由将 VRFY 命令作为 SMTP 对话的一部分发出。SMTP RCPT TO 命令应执行与 VRFY 相同的功能并返回相应的错误。但是,存在这样一些服务器,它们可以接受 RCPT TO 中的所有地址(以后退回),但是在 VRFY 命令中同样的服务器却执行更全面的检查。
默认情况下,MTA 不发送 VRFY 命令(启用 novrfy 关键字)。
如果需要,可以通过在通道定义中包含 domainvrfy 或 localvrfy 关键字将 MTA 配置为发出 SMTP VRFY 命令。使用关键字 domainvrfy 可以发出 VRFY 命令,并将完整地址 (user@host) 作为其参数。localvrfy 关键字使 MTA 发出仅带有地址中本地部分 (user) 的 VRFY 命令。
当发送邮件的 SMTP 客户机发出 SMTP VRFY 命令时,vrfyallow、vrfydefault 和 vrfyhide 关键字将控制 SMTP 服务器的响应。
vrfyallow 关键字通知 MTA 发出提供详细信息的响应。除非已经指定通道选项 HIDE_VERIFY=1,否则 vrfydefault 将通知 MTA 提供具有详细信息的响应。vrfyhide 关键字通知 MTA 只发出模糊的响应。上述关键字允许控制每个通道的 VRFY 响应,与 HIDE_VERIFY 选项相反,而后者通常适用于通过同一 SMTP 服务器处理的所有外来 TCP/IP 通道。