为什么第一个 EHLO 命令在 gsmtp 上"unrecognized command"?



我正在学习网络的基础知识,想通过命令行发送电子邮件。我在.l.google.com:25中用gmail-smtp打开了一个telnet会话,并发出了第一个命令EHLO gmail.com

220 mx.google.com ESMTP u16-20020ac25190000000b00449fff280afsi9331201lfi.49 - gmtp
EHLO gmail.com
502 5.5.1 Unrecognized command. u16-20020ac25190000000b00449fff280afsi9331201lf.49 - gsmtp
EHLO gmail.com
250-mx.google.com at your service, [xxx.xxx.xxx.xxx]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8

当我第一次发出EHLO gmail.com时,它说Unrecognized command,但随后它接受了我的命令。我做错了什么?

我无法复制您的问题。收到问候语后,telnet gmail-smtp-in.l.google.com 25EHLO localhost对我来说很好。(你不应该在EHLO中使用gmail.com,但这无关紧要。正确的方法是使用你的机器的完全限定域名(而不是localhost(,或者如果你的机器没有DNS地址,则使用方括号中的IP地址。(

RFC 5321指定SMTP客户端应在发送EHLO命令之前等待来自服务器的问候语。延迟问候可以作为一种反垃圾邮件措施,但我不认为这是问题所在。

相关内容

最新更新