我已经使用Postfix和Dovecotbuild立了一个电子邮件服务器,并且能够使用各种邮件客户端发送和接收邮件,但由于某种原因,当我尝试通过terminal中的openssl进行连接时,出现了身份validation错误。
这几乎是如此:
openssl s_client -connect mail.example.com:587 -starttls smtp
[build立到服务器的连接]
EHLO mail.example.com AUTH PLAIN cGFzc3dvcmQ= 535 5.7.8 Error: authentication failed:
我用下面的每一个来产生我的AUTH PLAIN消息,其中没有一个已经authentication了我:
echo -en '\0username\0password!'|base64 echo -en '\000username\000password!'|base64 echo -e '\0username\0password!'|base64 echo -e '\000username\000password!'|base64
我用来设置邮件服务器的教程build议我使用:
echo -en '\000username\000password!'|base64
但这从来没有为我工作。
我的用户名格式为[email protected] ,在使用邮件客户端连接服务器时有效。
有谁知道为什么我可能会得到错误? 我假设这是因为我没有正确地生成base64身份validation消息,但我相当新的Linux,所以我可能会忽略一些简单的东西。
我已经按照教程的信,我已经多次检查我的设置。 除了这个问题之外,其他一切都按预期工作。
服务器运行Debian 7(64位),教程在这里: https : //www.howtoforge.com/tutorial/build-your-own-cloud-on-debian-wheezy/
谢谢。
大多数设置包括在用户名中的域。 (至less大部分是我的)试试:
echo -ne '\[email protected]\0password!'|base64
你也可以尝试PERL的方法:
perl -MMIME::Base64 -e 'print encode_base64("\000user\@domain.com\000password")'