筍子工作雜記

四月 17, 2006

OpenWebMail 與 SASL2 認證設定

Filed under: FreeBSD — shinnlu @ 1:03 上午

由於郵件系統有設定 SASL2 的關係,導致 OpenWebMail 無法正確寄出信件,原因是 OpenWebMail 在寄信的時候無法通過 SASL2 的 Relay check,錯誤訊息如下:

Wed Apr 12 14:30:22 2006 – [550] (192.168.1.??) danny – send message error – smtp error …
>>> Net::SMTP(2.29)
>>> Net::Cmd(2.26)
>>> Exporter(5.58)
>>> IO::Socket::INET(1.29)
>>> IO::Socket(1.29)
>>> IO::Handle(1.25)
<<< 220 ns1.yourhost.com ESMTP Postfix >>> EHLO ns1.yourhost.com
<<< 250-ns1.yourhost.com <<< 250-PIPELINING <<< 250-SIZE 10240000 <<< 250-ETRN <<< 250-AUTH NTLM LOGIN PLAIN OTP DIGEST-MD5 CRAM-MD5 <<< 250-AUTH=NTLM LOGIN PLAIN OTP DIGEST-MD5 CRAM-MD5 <<< 250 8BITMIME >>> MAIL FROM:
<<< 250 Ok >>> RCPT TO:
<<< 554 : Relay access denied

所以需要在 /usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf 裡面開啟 smtpauth
smtpauth yes
然後在 /usr/local/www/cgi-bin/openwebmail/etc/smtpauth.conf 裡面設定一組系統帳號

smtpauth_username username
smtpauth_password userpassword

設定完成後,再次測試由 OpenWebMail 寄信,沒想到錯誤訊息還是一樣,後來注意看 smtpauth.conf 裡面的說明:

# This file defines the username and password for SASL authentication
# on smtpserver. Currently, only the PLAIN mechanism is supported.

原來 OpenWebMail 現階段只能接受純文字密碼的認證,這個問題的解決方法是把 /usr/ports/security/cyrus-sasl2-saslauthd 重新安裝,並且只要選 SASL2即可.
安裝完後,重新啟動 sasl
saslauthd.sh restart
再測試一下,確認目前只剩下純文字的認證方式
ns1# telnet 0 25
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
220 ns1.yourhost.com ESMTP Postfix
EHLO localhost
250-ns1.yourhost.com
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN

250 8BITMIME
quit
221 Bye

看到以上結果,己經確定 OpenWebMail 可以通過認證了,而經過測試,的確問題是發生在 OpenWebMail 身上。
OpenWebMail 的改版速度越來越慢了,幾個很重要的功能都沒有實作完成,例如 Maildir 的支援,可是沒辦法,誰叫 OpenWebMail 是目前最方便,也最美觀的 WebMail,許多客戶指定使用這一套.

註:有誰可以告訴我,如何在 coolcode 裡面讓字體變顏色或加粗?

1 則迴響 »

  1. 我也不知道怎麼弄。 不過我是把
    mynetworks = 192.168.1.0/24, 127.0.0.0/8, 127.0.0.1, 192.168.1.60, hash:/etc/postfix/access
    relay_domains = qq.com, $mydestination
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination # 這行不定。 客戶發郵件不驗證。 無論在同一個域還是其它域。

    也不知道合不合理。

    迴響 by eagle — 六月 22, 2012 @ 11:20 上午

此篇文章迴響的訂閱源料 TrackBack URL

發表迴響

Powered by WordPress