[horde] Question for Sieve, Ingo, Horde and maybe saslauthd - not sure

Helmut Schiefer Helmut at 4schiefer.de
Tue Sep 10 15:54:24 UTC 2013


Dear List,

I try to setup sieve with cyrus-imap and the current, stable  
horde/ingo release. Ubuntu 12.04, Imap 2.4.17 (build from source)
In case I use Horde without sieve, all runs very well, thanks for  
creating a great solution.

If I enable sieve, I got only a blank login screen and the following  
error in horde.log

2013-09-09T14:31:44+02:00 ERR: HORDE [imp] Der E-Mail-Server hat einen  
IMAP-Fehler gemeldet. Mailbox does not exist [pid 11316 on line 566 of  
"/internet/horde/imp/lib/Imap.php"]

Is it possible to point me to an idea, what else can I do to find my mistake?

Thanks
Helmut

hooks.php
=========
class Ingo_Hooks
{
      /**
       * Returns the username/password needed to connect to the transport
       * backend.
       *
       * @param string $driver  The driver name (array key from backends.php).
       *
       * @return mixed  If non-array, uses Horde authentication credentials
                        (DEFAULT). Otherwise, an array with the following keys
       *                (non-existent keys will use default values):
       *  - euser: (string; SIEVE ONLY) For the sieve driver, the effective
       *           user to use.
       *  - password: (string) Password.
       *  - username: (string) User name.
       */
       public function transport_auth($driver)
       {
          switch ($driver) {
          case 'timsieved':
//            // Example #1: Use full Horde username for password.
//            return array(
//                'username' => $GLOBALS['registry']->getAuth(null)
//           );
//
//            // Example #2: Use IMP password/username.
              $ob = $GLOBALS['registry']->call('mail/imapOb');
              return array(
                  'password' => $ob->getParam('password'),
                  'username' => $ob->getParam('username')
              );
          }
//
          // DEFAULT: Use hordeauth (identical to not defining hook at all).
//        return true;
      }


      /**
       * Set the default addresses used for the vacation module.
       *
       * @param string $user  The username.
       *
       * @return array  A list of vacation addresses.
       */
//    public function vacation_addresses($user = null)
//    {
//        // Example #1: User has 2 vacation addresses.
//        return array($user . '@example.com', $user . '@foobar.com');
//    }

}


backends.local.php
====================
<?php
$backends['imap'] = array(
      // ENABLED by default
      // Django : 2013-02-04
      // default: 'disabled' => false,
      'disabled' => true,
      'transport' => 'null',
      'params' => array(),
      'script' => 'imap',
      'scriptparams' => array(),
      'shares' => false
);

backends['sieve'] = array(
      // Disabled by default
      'disabled' => false,
      'hordeauth' => 'full',
      'transport' => array(
          Ingo::RULE_ALL => array(
              'driver' => 'timsieved',
              'params' => array(
                  // Hostname of the timsieved server
                  'hostspec' => 'localhost',
                  // Login type of the server
                  'logintype' => 'PLAIN',
                  // Enable/disable TLS encryption
                  'usetls' => false,
                  // Port number of the timsieved server
                  'port' => 2001,
                  // Name of the sieve script
                  'scriptname' => 'ingo',
                  // Enable debugging. The sieve protocol  
communication is logged
                  // with the DEBUG level.
                  'debug' => true,
              ),
	),
       ),
       'script' => array(
          Ingo::RULE_ALL => array(
              'driver' => 'sieve',
              'params' => array(
                  // If using Dovecot or any other Sieve implementation that
                  // requires folder names to be UTF-8 encoded, set this
                  // parameter to true.
                  'utf8' => true,
               ),
          ),
      ),
      'shares' => false
);

I test: sieveshell   --user=helmut --authname=helmut localhost:2001
The sieveshell command worked without any problems

Horde Logfile
===================
2013-09-10T08:25:53+02:00 DEBUG: HORDE [ingo] Load config file  
(conf.php; app: ingo) [pid 7993 on line 409 of  
"/usr/share/php/Horde.php"]
2013-09-10T08:25:53+02:00 DEBUG: HORDE [ingo] Load config file  
(hooks.php; app: ingo) [pid 7993 on line 409 of  
"/usr/share/php/Horde.php"]
2013-09-10T08:26:35+02:00 DEBUG: HORDE [ingo] Load config file  
(backends.php; app: ingo) [pid 8004 on line 409 of  
"/usr/share/php/Horde.php"]
2013-09-10T08:26:35+02:00 DEBUG: HORDE [ingo] Hook transport_auth in  
application ingo called. [pid 8004 on line 1141 of  
"/usr/share/php/Horde.php"]








-- 
Best Regards
Helmut Schiefer


More information about the horde mailing list