fBSD: sendmail + sasl2 + procmail + courier-imap

看板FreeBSD作者時間20年前 (2005/08/12 16:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請教 我用 freeBSD 5.4 . 用 ports 裝了 mail/sendmail-sasl ...etc 各種 mail servers MTA : sendmail 8.13.4 設好了有正常跑了 pop3 用 cucipop (standalone) 也可讓 user 正常收發信了 procmail openssl 再來想加 imap server 我本用 imap-uw 搞不出,後現改用 courier-imap 也搞不出. 當 WXP outlook express 連上 pop3 server 時 沒問題. 連上 imap server 時, 說 "伺服器拒絕登錄,請檢查您的使用這名稱與密碼是否正確." Login failed. 設定: 帳戶: user1 伺服器: 192.168.1.100 使用者名稱: user1 通訊協定: IMAP 連接埠: 143 安全(SSL): 0 碼: 800cccd1 不論是 伺服器項目下 使用安全密碼驗證登入(S) 或 進階項目下 IMAP SSL 993 都不行 (我還沒設要使用 IMAP SSL 說;想等先沒 ssl 的可以後,下一步在說) 看 /var/log/maillog 說 Aug 12 00:52:44 mylocalhost cucipop[592]: user1 192.168.1.55 0, 0 (0), 0 (0) Aug 12 00:52:53 mylocalhost imapd: LOGIN FAILED, user=user1, ip=[192.168.1.55] 不知問題何在? ... :( 請 前輩們幫我看看哪裡該改進. 謝謝 下面是一些 環境 或 設定檔 # telnet localhost 25 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost.mydomain.net. Escape character is '^]'. 220 localhost.mydomain.net ESMTP Sendmail 8.13.4/8.13.3; Thu, 11 Aug 2005 23:40:56 -0700 (PDT) ehlo localhost 250-localhost..mydomain.net Hello localhost.mydomain.net [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELP starttls 220 2.0.0 Ready to start TLS # telnet localhost 143 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost.mydomain.net. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. # telnet localhost 110 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost.ohbi.net. Escape character is '^]'. +OK Cubic Circle's v1.31 1998/05/13 POP3 ready <930200008846fc42@localhost.mydomain.net> USER user1 +OK user1 selected PASS xxxx +OK Congratulations! QUIT +OK Was it as good for you, as it was for me? (clean as a baby) Connection closed by foreign host. 以下是部份 .mc # cat etc/mail/localhost.localdomain.mc divert(-1) divert(0) VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.29 2003/12/24 21:15:09 gshapiro Exp $') OSTYPE(freebsd5) DOMAIN(generic) define(`confAUTH_OPTIONS', `A')dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') FEATURE(blacklist_recipients) FEATURE(local_lmtp) FEATURE(mailertable, `hash -o /etc/mail/mailertable') FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') define(`PROCMAIL_MAILER_PATH', `/usr/local/bin/procmail')dnl FEATURE(`local_procmail')dnl # 這是 openssl 作的 cert define(`CERT_DIR', `/etc/mail/cert')dnl define(`confCACERT_PATH', `CERT_DIR')dnl define(`confCACERT', `CERT_DIR/mycert.pem')dnl define(`confSERVER_CERT', `CERT_DIR/mycert.pem')dnl define(`confSERVER_KEY', `CERT_DIR/mykey.pem')dnl define(`confCLIENT_CERT', `CERT_DIR/mycert.pem')dnl define(`confCLIENT_KEY', `CERT_DIR/mykey.pem')dnl define(`confCW_FILE', `-o /etc/mail/local-host-names') DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl define(`confBIND_OPTS', `WorkAroundBrokenAAAA') define(`confPRIVACY_FLAGS', `goaway') MAILER(procmail)dnl # end of etc/mail/localhost.localdomain.mc # cat /etc/procmailrc PATH="/usr/bin:/usr/local/bin" MAILDIR="$HOME/Maildir" DEFAULT="$HOME/Maildir/" SHELL="/bin/sh" # end of /etc/procmailrc # cat /etc/pam.d/imap auth required pam_unix.so try_first_pass account required pam_unix.so try_first_pass session required pam_permit.so # end of /etc/pam.d/imap 部份的 courier-imapd 設定 # cat /usr/local/etc/courier-imap/imapd ##VERSION: $Id: imapd.dist.in,v 1.37 2005/07/05 12:31:27 mrsam Exp $ # # imapd created from imapd.dist by sysconftool ##NAME: ADDRESS:0 ADDRESS=0 ##NAME: PORT:1 PORT=143 ##NAME: AUTHSERVICE:0 ##NAME: MAXDAEMONS:0 MAXDAEMONS=40 ##NAME: MAXPERIP:0 MAXPERIP=4 ##NAME: PIDFILE:0 PIDFILE=/var/run/imapd.pid ##NAME: TCPDOPTS:0 TCPDOPTS="-nodnslookup -noidentlookup" ##NAME: LOGGEROPTS:0 LOGGEROPTS="-name=imapd" ##NAME: DEFDOMAIN:0 DEFDOMAIN="@mylocalhost.mydomain.net" ##NAME: IMAP_CAPABILITY:1 IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=R EFERENCES SORT QUOTA IDLE" ##NAME: KEYWORDS_CAPABILITY:0 IMAP_KEYWORDS=1 ##NAME: SMAP1_CAPABILITY:0 ##NAME: IMAP_CAPABILITY_ORIG:2 IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THR EAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE" ##NAME: IMAP_PROXY:0 IMAP_PROXY=0 ##NAME: PROXY_HOSTNAME:0 ##NAME: IMAP_PROXY_FOREIGN:0 IMAP_PROXY_FOREIGN=0 ##NAME: IMAP_IDLE_TIMEOUT:0 IMAP_IDLE_TIMEOUT=120 ##NAME: IMAP_CAPABILITY_TLS:0 IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN" ##NAME: IMAP_TLS_ORIG:0 IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN" ##NAME: IMAP_DISABLETHREADSORT:0 IMAP_DISABLETHREADSORT=0 ##NAME: IMAP_CHECK_ALL_FOLDERS:0 IMAP_CHECK_ALL_FOLDERS=0 ##NAME: IMAP_OBSOLETE_CLIENT:0 IMAP_OBSOLETE_CLIENT=0 ##NAME: IMAP_UMASK:0 IMAP_UMASK=022 ##NAME: IMAP_ULIMITD:0 IMAP_ULIMITD=65536 ##NAME: IMAP_USELOCKS:0 IMAP_USELOCKS=1 ##NAME: IMAP_SHAREDINDEXFILE:0 IMAP_SHAREDINDEXFILE=/usr/local/etc/courier-imap/shared/index ##NAME: IMAP_ENHANCEDIDLE:0 IMAP_ENHANCEDIDLE=0 ##NAME: IMAP_TRASHFOLDERNAME:0 IMAP_TRASHFOLDERNAME=Trash ##NAME: IMAP_EMPTYTRASH:0 # IMAP_EMPTYTRASH=Trash:7,Sent:30 IMAP_EMPTYTRASH=Trash:7 ##NAME: IMAP_MOVE_EXPUNGE_TO_TRASH:0 IMAP_MOVE_EXPUNGE_TO_TRASH=0 ##NAME: OUTBOX:0 # 這裡有給它 uncomment 了 OUTBOX=.Outbox ##NAME: SENDMAIL:0 # 這裡給他改了 因為 port 新的 sendmail 在 /usr/local/sbin/sendmail SENDMAIL=/usr/local/sbin/sendmail ##NAME: HEADERFROM:0 HEADERFROM=X-IMAP-Sender ##NAME: OUTBOX_MULTIPLE_SEND:0 ##NAME: IMAPDSTART:0 IMAPDSTART=YES ##NAME: MAILDIRPATH:0 # 這裡就用 Maildir 吧!? MAILDIRPATH=Maildir # end of /usr/local/etc/courier-imap/imapd 故,在 /home/USERS/ 放了一個 Maildir # ls -al /home/user1 drwxr-x--- 2 user1 user1 512 Aug 11 09:29 Maildir # cat /usr/local/etc/rc.d/courier-imap-imapd.sh #!/bin/sh # courier_imap_imapd_enable=${courier_imap_imapd_enable-"YES"} .. /etc/rc.subr name="courier_imap_imapd" rcvar=`set_rcvar` command="/usr/local/libexec/courier-imap/imapd.rc" pidfile="/var/run/imapd.pid" procname="/usr/local/libexec/courier-imap/couriertcpd" start_cmd="imapd_cmd start" stop_cmd="imapd_cmd stop" restart_cmd="imapd_cmd stop && imapd_cmd start" load_rc_config $name imapd_cmd () { case $1 in start) echo "Starting ${name}." ${command} start ;; stop) echo "Stopping ${name}." ${command} stop ;; esac } run_rc_command "$1" # end of /usr/local/etc/rc.d/courier-imap-imapd.sh # cat /usr/local/lib/sasl2/Sendmail.conf pwcheck_method: saslauthd # end of /usr/local/lib/sasl2/Sendmail.conf # cat /etc/rc.d/saslauthd #!/bin/sh # # $FreeBSD: ports/security/cyrus-sasl2-saslauthd/files/saslauthd.sh.in,v 1.1 2005/02/10 19:32:10 ume Exp $ prefix=/usr/local saslauthd_enable=${saslauthd_enable:-"YES"} # Enable saslauthd saslauthd_flags=${saslauthd_flags:-"-a pam"} # Flags to saslauthd program .. /etc/rc.subr name="saslauthd" rcvar=`set_rcvar` command="${prefix}/sbin/${name}" load_rc_config $name if [ -z "$saslauthd_runpath" ]; then pidfile="/var/state/saslauthd/${name}.pid" else pidfile="${saslauthd_runpath}/${name}.pid" command_args="-m ${saslauthd_runpath}" fi run_rc_command "$1" # end of /etc/rc.d/saslauthd # grep imap /etc/services 有 imap 的 tcp & udp imaps 的 tcp & udp # grep pop /etc/services 有 pop3 的 tcp & udp pop3s 的 tcp & udp 最後, 有沒有啥開機時該開沒開的? # cat /etcrc.conf defaultrouter="192.168.1.100" hostname="mylocalhost.localdomain.net" ifconfig_rl0="inet 192.168.1.200 netmask 255.255.255.0" inetd_enable="YES" linux_enable="YES" moused_enable="YES" saver="blank" saslauthd_enable="YES" sshd_enable="YES" usbd_enable="YES" apache2_enable="YES" webmin_enable="YES" 謝謝囉 :) <: 老音學生 :>
文章代碼(AID): #12_5w900 (FreeBSD)
文章代碼(AID): #12_5w900 (FreeBSD)