Subversion Repositories sysadmin_scripts

Rev

Rev 50 | Rev 108 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

$config = {
          'default' => { # defaults used when no value is given
                       'enabled' => 1, # account is not processed if value is 0
                       'testing' => '1', # gives a lot of messages, but doesn't do anything
                       'source' => { # where is the mail coming from
                                     'server' => 'localhost', # we're running the script on the mail server itself
                                     'system' => [ # do not delete any folders with these (case insensitive) names
                                                   'Outbox',
                                                   'Sent Items',
                                                   'INBOX'
                                                 ],
                                     'ignore' => [ # do not process messages in folders with any of these (case insensitive) names
                                                   'Deleted Messages',
                                                   'Drafts',
                                                   'Junk E-mail',
                                                   'Junk',
                                                   'Trash'
                                                 ],
                                     'age' => '18M', # anything older than this is ready to be archived, in days. M=monts, Y=years
                                     'deleteOnSuccess' => '1', # after successful copy, delete message on source
                                     'deleteEmptyFolders' => '1' # if any folder is empty (except system folders), delete it
                                   },
                       'target' => {
                                   'server' => 'localhost',
                                   'hierarchy' => '<path>', # Store message in same path on target that it was on source
                                   'sleeptime' => '0.5', # time to sleep between messages, in seconds, to allow dovecot to catch up
                                 },
                     },
          'accounts' => {
                          'user@example.com' => {
                                                  'testing' => '1',
                                                  'source' => {
                                                                'system' => [ # this is ADDED to the default system folders
                                                                              'Trash'
                                                                            ],
                                                                'server' => 'smtp.example.com', # override default source server
                                                                'username' => 'user@example.com',
                                                                'password' => 'imap password',
                                                                'age' => '1Y', # override default old age limit
                                                                'ignore' => [ # these are ADDED to the default ignore folders
                                                                              'ThisIsSpam',
                                                                              'ThisIsNOTSpam',
                                                                              'ToProcess',
                                                                            ],
                                                                'deleteEmptyFolders' => '1',
                                                                'deleteOnSuccess' => '0' # override, leave messages on source after copy
                                                              },
                                                  'target' => {
                                                              'server' => 'archive.example.com', # override target server
                                                              'hierarchy' => '<path>^<year>^<month>', # stored in original path/year/month
                                                              'username' => 'user_archive@archive.example.com',
                                                              'password' => 'imap password'
                                                            },
                                                  'enabled' => 1,
                                                },
                          'user2' => { # this user uses defaults for everything, so all we need to do is put in username and password
                                                  'source' => {
                                                                'username' => 'user@example.com',
                                                                'password' => 'imap password',
                                                              },
                                                  'target' => {
                                                              'username' => 'user_archive@archive.example.com',
                                                              'password' => 'imap password'
                                                            },
                                                }
                        }
        };