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

Jan Schneider jan at horde.org
Wed Sep 11 08:36:59 UTC 2013


Zitat von Helmut Schiefer <Helmut at 4schiefer.de>:

> 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?

Enable IMAP logging in imp/config/backends.local.php.

> 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


-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the horde mailing list