你好,
过去几天,我一直在尝试使用 SASLDB 设置 Postfix,以便通过 Ubuntu Server 15.04 上的 SMTP 从我的应用程序发送电子邮件。我搜索、阅读并测试了很多相关内容,但还是无法让它正常工作。Postfix 和邮件服务器对我来说很新,所以我希望有人能帮助我。
我最后尝试的是以下操作:
已全新安装 Ubuntu Server 15.04 x64。
运行此脚本来安装并配置 Postfix、SASL AUTH: https://gist.github.com/richarddong/2634350
通过以下方法修复 SASLAUTHD 以与 chrooted Postfix 配合使用(第 3 和第 4 段): https://github.com/webmin/webmin/issues/58#issuecomment-22985720
修理connect() :没有该文件或目录错误测试命令。
我创建了一个用户
saslpasswd2 -c -u example.com username
。使用 验证成功
sasldblistusers2
,然后使用以下方法进行测试:testsaslauthd -u [email protected] -p password
testsaslauthd -u username -p password -r example.com
testsaslauthd -u [email protected] -p password -s smtp
testsaslauthd -u username -p password -r example.com -s smtp
testsaslauthd -u username -p password
但所有这些都返回了:0:没有“认证失败”。
它只接受了根用户和密码,如
testsaslauthd -u root -p password
。我检查了配置,发现它没有使用 SASLDB,因此我按照以下步骤操作: https://serverfault.com/a/547851/317421
SASL、Postfix 配置之后的结果和我上面写的一样。
我尝试使用 root 用户
telnet localhost 25
,连接,然后AUTH PLAIN base64string
,其中 base64string 生成自:perl -MMIME::Base64 -e 'print encode_base64("\000root\000password");'
但回来了
535 5.7.8 Error: authentication failed: generic failure
。
这就是我现在所在的地方。
当然,我在这些步骤之间重新启动了 Postfix 和 SASLAUTHD。
我也尝试过重新启动系统但没有任何改变。
如果有人能好心地帮助我设置这个或者得到一个脚本那就太好了!
答案1
如果有人遇到同样的错误,这可能会节省您数小时的搜索时间。
为了使用 sasldb,您需要将文件中的MECHANISMS="pam"
行更改为,这是我所忽略的。MECHANISMS="sasldb"
/etc/default/saslauthd
然后重新启动 saslauthd 和 postfix,它就可以按照上面的配置工作了。