Roundcube doesnt save language, identities and timezone settings.

Discussion in 'Tips/Tricks/Mods' started by maxx, Jun 12, 2006.

  1. maxx

    maxx ISPConfig Developer ISPConfig Developer

    Hello Folks.

    Roundcube doesnt save / remember my settings that I change.

    I change language, timezone and identities and press save. After logout and login the settings are back to default..

    What is wrong?

    - M
  2. alex916

    alex916 New Member

    same problem, also address book isn't saved.
    There isn't database in mysql and in the installation file i think to remember that it could be.
  3. falko

    falko Super Moderator ISPConfig Developer

    Roundcube is still in alpha or beta state, so this might cause your problems...
  4. alexnz

    alexnz New Member

    yeah neither for me its not saving my address book detials or new identities

    i have created the roundcube mysql database + filled it with the appriopriate tables and configured the and file too read the mysql databse but web i log into webmail its still not saving new identities or address book?

    can anyone help out?
  5. lorello

    lorello New Member

    I'm useing Roundcube on my ISPConfig box and I'm very happy of it. I'm useing mysql to store user preferences and it works.

    Have you tested your mysql connection to specified db?
    Have you switched 'auto_create_option' to TRUE?

    Try setting debug_level to 4 (show) and see if some error appear on the page when you set some preference.
  6. alexnz

    alexnz New Member

    okay i have checkrf all the settings

    when i save the user information it does write the data too mysql database, but it still not displaying the information when i log out and log back in agian???

    i get no errors with the logfile or the value set too 4 .... im completely stumped! ive been over the cfg files a few times now and now i cant figure how why its not reading the information!

    please someone help!

    here is my cfg files:

     | Configuration file for database access                                |
     |                                                                       |
     | This file is part of the RoundCube Webmail client                     |
     | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
     | Licensed under the GNU GPL                                            |
     |                                                                       |
    $rcmail_config = array();
    // PEAR database DSN for read/write operations
    // format is db_provider://user:password@host/databse
    // currentyl suported db_providers: mysql, sqlite
    $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcube';
    // sqlite example: 'sqlite://./sqlite.db?mode=0646';
    // PEAR database DSN for read only operations (if empty write database will be used)
    // useful for database replication
    $rcmail_config['db_dsnr'] = '';
    // database backend to use (only db or mdb2 are supported)
    $rcmail_config['db_backend'] = 'db';
    // maximum length of a query in bytes
    $rcmail_config['db_max_length'] = 512000;  // 500K
    // use persistent db-connections
    $rcmail_config['db_persistent'] = TRUE;
    // you can define specific table names used to store webmail data
    $rcmail_config['db_table_users'] = 'users';
    $rcmail_config['db_table_identities'] = 'identities';
    $rcmail_config['db_table_contacts'] = 'contacts';
    $rcmail_config['db_table_session'] = 'session';
    $rcmail_config['db_table_cache'] = 'cache';
    $rcmail_config['db_table_messages'] = 'messages';
    // you can define specific sequence names used in PostgreSQL
    $rcmail_config['db_sequence_users'] = 'user_ids';
    $rcmail_config['db_sequence_identities'] = 'identity_ids';
    $rcmail_config['db_sequence_contacts'] = 'contact_ids';
    $rcmail_config['db_sequence_cache'] = 'cache_ids';
    $rcmail_config['db_sequence_messages'] = 'message_ids';
    // end db config file
     | Main configuration file                                               |
     |                                                                       |
     | This file is part of the RoundCube Webmail client                     |
     | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
     | Licensed under the GNU GPL                                            |
     |                                                                       |
    $rcmail_config = array();
    // system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
    $rcmail_config['debug_level'] = 4;
    // enable caching of messages and mailbox data in the local database.
    // this is recommended if the IMAP server does not run on the same machine
    $rcmail_config['enable_caching'] = FALSE;
    // lifetime of message cache
    // possible units: s, m, h, d, w
    $rcmail_config['message_cache_lifetime'] = '10d';
    // automatically create a new RoundCube user when log-in the first time.
    // a new user will be created once the IMAP login succeeds.
    // set to false if only registered users can use this service
    $rcmail_config['auto_create_user'] = TRUE;
    // the mail host chosen to perform the log-in
    // leave blank to show a textbox at login, give a list of hosts
    // to display a pulldown menu or set one host as string.
    // To use SSL connection, enter ssl://hostname:993
    $rcmail_config['default_host'] = 'localhost';
    // TCP port used for IMAP connections
    $rcmail_config['default_port'] = 143;
    // This domain will be used to form e-mail addresses of new users
    // Specify an array with 'host' => 'domain' values to support multiple hosts
    $rcmail_config['mail_domain'] = '';
    // Path to a virtuser table file to resolve user names and e-mail addresses
    $rcmail_config['virtuser_file'] = '/etc/postfix/virtusertable';
    // Query to resolve user names and e-mail addresses from the database
    // %u will be replaced with the current username for login.
    // The query should select the user's e-mail address as first col
    $rcmail_config['virtuser_query'] = '';
    // use this host for sending mails.
    // to use SSL connection, set ssl://
    // if left blank, the PHP mail() function is used
    $rcmail_config['smtp_server'] = 'localhost';
    // SMTP port (default is 25; 465 for SSL)
    $rcmail_config['smtp_port'] = 25;
    // SMTP username (if required) if you use %u as the username RoundCube
    // will use the current username for login
    $rcmail_config['smtp_user'] = '';
    // SMTP password (if required) if you use %p as the password RoundCube
    // will use the current user's password for login
    $rcmail_config['smtp_pass'] = '';
    // SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
    // best server supported one)
    $rcmail_config['smtp_auth_type'] = '';
    // Log sent messages
    $rcmail_config['smtp_log'] = TRUE;
    // these cols are shown in the message list
    // available cols are: subject, from, to, cc, replyto, date, size, encoding
    $rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size');
    // relative path to the skin folder
    $rcmail_config['skin_path'] = 'skins/default/';
    // use this folder to store temp files (must be writebale for apache user)
    $rcmail_config['temp_dir'] = 'temp/';
    // use this folder to store log files (must be writebale for apache user)
    $rcmail_config['log_dir'] = 'logs/';
    // session lifetime in minutes
    $rcmail_config['session_lifetime'] = 30;
    // check client IP in session athorization
    $rcmail_config['ip_check'] = TRUE;
    // the default locale setting
    $rcmail_config['locale_string'] = 'en';
    // use this format for short date display
    $rcmail_config['date_short'] = 'D H:i';
    // use this format for detailed date/time formatting
    $rcmail_config['date_long'] = 'd.m.Y H:i';
    // add this user-agent to message headers when sending
    $rcmail_config['useragent'] = 'RoundCube Webmail';
    // use this name to compose page titles
    $rcmail_config['product_name'] = 'RoundCube Webmail';
    // only list folders within this path
    $rcmail_config['imap_root'] = '';
    // store sent message is this mailbox
    // leave blank if sent messages should not be stored
    $rcmail_config['sent_mbox'] = 'Sent';
    // move messages to this folder when deleting them
    // leave blank if they should be deleted directly
    $rcmail_config['trash_mbox'] = 'Trash';
    // display these folders separately in the mailbox list
    $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent',
    'Junk', 'Trash');
    // default sort col
    $rcmail_config['message_sort_col'] = 'date';
    // default sort order
    $rcmail_config['message_sort_order'] = 'DESC';
    // Set TRUE if deleted messages should not be displayed
    // This will make the application run slower
    $rcmail_config['skip_deleted'] = FALSE;
    // path to a text file which will be added to each sent message
    // paths are relative to the RoundCube root folder
    $rcmail_config['generic_message_footer'] = '';
    // this string is used as a delimiter for message headers when sending
    // leave empty for auto-detection
    $rcmail_config['mail_header_delimiter'] = NULL;
    // in order to enable public ldap search, create a config array
    // like the Verisign example below. if you would like to test,
    // simply uncomment the Verisign example.
     *  example config for Verisign directory
     *  $rcmail_config['ldap_public']['Verisign'] = array('hosts'         =>
     *                                                    'port'          => 389,
     *                                                    'base_dn'       => '',
     *                                                    'search_fields' => array('Email' => 'mail', 'Name' => 'cn'),
     *                                                    'name_field'    => 'cn',
     *                                                    'mail_field'    => 'mail',
     *                                                    'scope'         => 'sub',
     *                                                    'fuzzy_search'  => 0);
    /***** these settings can be overwritten by user's preferences *****/
    // show up to X items in list view
    $rcmail_config['pagesize'] = 40;
    // use this timezone to display date/time
    $rcmail_config['timezone'] = 0;
    // daylight savings are On
    $rcmail_config['dst_active'] = TRUE;
    // prefer displaying HTML messages
    $rcmail_config['prefer_html'] = TRUE;
    // show pretty dates as standard
    $rcmail_config['prettydate'] = TRUE;
    // end of config file
    what am i missing? why isnt she reading the DB?
  7. alexnz

    alexnz New Member

  8. Hans

    Hans Moderator ISPConfig Developer

    I do not recommend to use RoundCube for a production environment at this moment.
    It is still in developement.
    I had a look at it some time ago and there are still bugs like:

    Settings which are not saved
    Incompatible with some browsers like Opera.
    You see this incompatibility for example when you use the CC or BCC option.
    And unfortunately some other things i do not know.

    Some bugs are fixed already in the developement version already,
    but this bugfixes are not included in the RoundCube version which is available in the package for ISPConfig.

    The userinterface is really nice, but that is it at this moment.
    Matter of time...

  9. maxx

    maxx ISPConfig Developer ISPConfig Developer

    Im still using Uebimiau. But in the future I would like to see search feature on Cube.

    - M
  10. lorello

    lorello New Member

    How you know the db is updated?
    Have you seen some record in db?
  11. wr19026

    wr19026 New Member

    Longer term it would make sense to push for an IMAP based webmail client. RoundCube *would* be great although Squirrelmail prepackaged with some of the options (seen it for VHCS) looks pretty great too.
  12. fofan

    fofan New Member

  13. falko

    falko Super Moderator ISPConfig Developer

    I think it's guessing the email address from the username you use to log in + the server's hostname. I don't know RoundCube, but I think you can set the sender address somewhere, just as you do in any normal email client such as Outlook.
  14. fofan

    fofan New Member

    Found thats here

    and its looks like no way yet to make roudcube working properly, automatic creating accounts and saving settings with ISPConfig yet, so we are back to UebiMail :-( realy dificult to use it after clear and butifull interface of roundcube, waiting for next releases of roundcube :)
  15. fofan

    fofan New Member

    I'm installed SuirrelMail from .pkg, and its working perfect , does anybody know where to get templates for it ?
  16. falko

    falko Super Moderator ISPConfig Developer

    I found a website that sells SquirrelMail templates... Not sure if that is what you want...
  17. veroxii

    veroxii New Member


    I've fixed this roundcube issue btw, for anyone who's interested. (the roundcube pkg installation you can download from the main download site). The problem was that roundcube would lookup your username from the email address only after checking whether your settings are in the database. Weird and obviously a bug.

    Goto /home/admispconfig/ispconfig/web/roundcubemail/program/include/

    Search down to find the function called "rcmail_login"

    Find the following piece of code:

      // query if user already registered
      $sql_result = $DB->query("SELECT user_id, username, language, preferences
                                FROM ".get_table_name('users')."
                                WHERE  mail_host=? AND (username=? OR alias=?)",
      // user already registered -> overwrite username
      if ($sql_arr = $DB->fetch_assoc($sql_result))
        $user_id = $sql_arr['user_id'];
        $user = $sql_arr['username'];
      // try to resolve email address from virtuser table
      if (!empty($CONFIG['virtuser_file']) && strstr($user, '@'))
        $user = rcmail_email2user($user);
    And change it to:

      // try to resolve email address from virtuser table
      if (!empty($CONFIG['virtuser_file']) && strstr($user, '@'))
        $user = rcmail_email2user($user);
      // query if user already registered
      $sql_result = $DB->query("SELECT user_id, username, language, preferences
                                FROM ".get_table_name('users')."
                                WHERE  mail_host=? AND (username=? OR alias=?)",
      // user already registered -> overwrite username
      if ($sql_arr = $DB->fetch_assoc($sql_result))
        $user_id = $sql_arr['user_id'];
        $user = $sql_arr['username'];
    Look at it carefully, we're moving the bottom block of code upwards.

    Once that done, it should work. If you're still having problems, make sure /home/admispconfig/ispconfig/web/roundcubemail/config/ is correctly configured. Specifically for my CentOS 4.4 system I had to change the following line:

    $rcmail_config['virtuser_file'] = '/etc/mail/virtusertable';
    Hope that helps people out. Now you can login with the user name, or the email address, and the preferences are saved perfectly across both. :)

  18. lorello

    lorello New Member

    Good work

    thanks for your effort :)
  19. LumpyOne

    LumpyOne New Member

    Veroxii, you're a hero! This made RoundCube something worth using. I posted a link to your post over in the forums too.
  20. till

    till Super Moderator Staff Member ISPConfig Developer

    Thanks. Moved the thread to the Tipps & Tricks forum.

Share This Page