[CentOS] cyrus-imapd - unable to connect to POP3

Thu Aug 11 15:20:43 UTC 2005
Aleksandar Milivojevic <alex at milivojevic.org>

Quoting "Arun K. Khan" <knura at yahoo.com>:

> This is the first time I am using cyrus-imapd package.
>
> I am unable to retrieve messages (pop3).  At first, I had not entered
> the cyrus-master in /etc/hosts.allow and was getting connection refused.
> After adding the entry I am able to connect to port 110 but for some
> reason the pop3 server is failing the password authentication (see
> below).  With the same userid/passwd I am able to ssh into the server.

Cyrus must be told how to authenticate users.  Normally, it doesn't do the
authentication itself (it's not running as root, so it can't access 
/etc/shadow
file).  What is the value of sasl_pwcheck_method and sasl_mech_list in
/etc/imapd.conf file?  You most likely want to set those to:

sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN LOGIN

If sasl_pwcheck_method is set to saslauthd, is saslauthd running?  If not fire
it up.  The configuration file for saslauthd (actually, it is config file for
/etc/init.d/saslauthd startup script, unless you want to use LDAP, saslauthd
does need/use any config files) is in /etc/sysconfig/saslauthd.  Again, 
to have
saslauthd authenticate against local user accounts in /etc/passwd and
/etc/shadow files, you would set it to:

MECH=shadow
FLAGS=

Other often used values for MECH are pam, ldap and kerberos5 (in case you have
LDAP server or Kerberos KDC that you want to use for authentication, in which
case you do not need local user accounts on the machine).  In case you want to
use LDAP, you'd also need to create file /etc/saslauthd.conf and set at least
ldap_servers and ldap_search_base options in it.

Said all that, default configuration on CentOS is sasl_pwcheck_method set to
saslauthd in /etc/imapd.conf and MECH set to shadow in 
/etc/sysconfig/saslauthd
(although "pam" would be better default value for MECH variable).  If you use
this default configuration, most likely you forgot to enable saslauthd 
to start
during boot.  Just start it (/etc/init.d/saslauthd start) and enable 
its startup
script so that it is started during boot (chkconfig saslauthd reset).  If you
use local user accounts for authentication, and your users are not listed in
/etc/passwd and /etc/shadow file (for example, you are using NIS or LDAP),
change value of MECH variable in /etc/sysconfig/saslauthd to pam.

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.