我想知道,如果不发送电子邮件,我们如何检查smtp服务器是否需要身份验证。我在transport.send(mimemessage)上得到了smtpsendfailedexception,它进一步说明“必须首先发出starttls命令”,但我不想使用任何身份验证方法。有没有办法在不发送电子邮件的情况下检查是否需要身份验证。任何帮助都将不胜感激。
wko9yo5t1#
“必须先发出starttls命令”这不是身份验证请求。starttls命令是协议的开始,用于协商与服务器的安全连接。如果服务器要求您协商一个安全连接以与之通信(在您选择的端口上),那么您必须这样做。有没有办法在不发送电子邮件的情况下检查是否需要身份验证。根据smtp规范,某些命令(vrfy、expn)可以在不进行身份验证的情况下请求,但是:规范说客户端应该从一个ehlo开始告诉服务器它是谁。服务器有权拒绝vrfy或expn请求,无论客户机是否已使用ehlo标识自己或(以某种方式)验证自己。我认为没有可靠的方法来测试服务器是否需要客户端/用户进行身份验证。。。在这个词的正确意义上。。。没有尝试发送电子邮件。
1条答案
按热度按时间wko9yo5t1#
“必须先发出starttls命令”
这不是身份验证请求。starttls命令是协议的开始,用于协商与服务器的安全连接。如果服务器要求您协商一个安全连接以与之通信(在您选择的端口上),那么您必须这样做。
有没有办法在不发送电子邮件的情况下检查是否需要身份验证。
根据smtp规范,某些命令(vrfy、expn)可以在不进行身份验证的情况下请求,但是:
规范说客户端应该从一个ehlo开始告诉服务器它是谁。
服务器有权拒绝vrfy或expn请求,无论客户机是否已使用ehlo标识自己或(以某种方式)验证自己。
我认为没有可靠的方法来测试服务器是否需要客户端/用户进行身份验证。。。在这个词的正确意义上。。。没有尝试发送电子邮件。