在 SASL2 上使用 SMTP-AUTH 和 SASLDB 設置 Postfix,以便使用者發送電子郵件
你好,
最近幾天,我嘗試使用 SASLDB 設置 Postfix,以便在 Ubuntu Server 15.04 上通過 SMTP 從我的應用程序發送電子郵件。我搜尋、閱讀和測試了很多關於它的內容,但我無法讓它工作。Postfix 和郵件伺服器對我來說是新的,所以我希望有人能幫助我。
我嘗試的最後一件事是:
- 全新安裝了 Ubuntu Server 15.04 x64。
- 執行此腳本來安裝和配置 Postfix、SASL AUTH: https ://gist.github.com/richarddong/2634350
- 通過以下(第 3 和第 4 段)修復 SASLAUTHD 以使用 chrooted Postfix: https ://github.com/webmin/webmin/issues/58#issuecomment-22985720
修復connect() :****testaslauthd命令沒有這樣的文件或目錄錯誤。 4. 我創建了一個使用者
saslpasswd2 -c -u example.com username
。用 驗證成功
sasldblistusers2
,然後用:
testsaslauthd -u username@example.com -p password
testsaslauthd -u username -p password -r example.com
testsaslauthd -u username@example.com -p password -s smtp
testsaslauthd -u username -p password -r example.com -s smtp
testsaslauthd -u username -p password
但所有這些都返回:0: NO “authentication failed”。它只接受root使用者和密碼,例如
testsaslauthd -u root -p password
. 5. 我檢查了配置,發現它沒有使用 SASLDB,所以我遵循了這個: https ://serverfault.com/a/547851/317421SASL、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。
我也嘗試重新啟動系統,但沒有任何改變。
如果有人這麼好心並幫助我設置這個或者得到一個腳本,那就太好了!
如果有人遇到同樣的錯誤,這可能會節省您數小時的搜尋時間。
為了使用 sasldb,您需要將文件中的
MECHANISMS="pam"
行更改為,這就是我錯過的。MECHANISMS="sasldb"``/etc/default/saslauthd
然後重新啟動 saslauthd 和 postfix,它與上面的配置一起工作。