User Tools

Site Tools


software:dailydata:archiveimap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:dailydata:archiveimap [2019/09/17 02:49] rodolicosoftware:dailydata:archiveimap [2019/09/19 02:04] (current) rodolico
Line 3: Line 3:
 We run a small mail server for some of our clients, some of whom retain massive amounts of e-mail. A few never sort anything, but leave it all in the Inbox, which can cause programs like Outlook to become unstable. Additionally, having a lot of mail in one folder can put a strain on the servers as users move around their various folders. Other clients use mail servers which limit the total size of an individual mail account. We run a small mail server for some of our clients, some of whom retain massive amounts of e-mail. A few never sort anything, but leave it all in the Inbox, which can cause programs like Outlook to become unstable. Additionally, having a lot of mail in one folder can put a strain on the servers as users move around their various folders. Other clients use mail servers which limit the total size of an individual mail account.
  
-Many programs allow auto-archiving of older mail. However, in the case of Outlook, this mail is stored in a local message store (.pst file), and while Thunderbird will move the mail around on the server, it is still creating a huge message store which can negatively impact resources on both the client machine and the mail server.+Many programs allow auto-archiving of older mail. However, in the case of Outlook, this mail is stored in a local message store (.pst file) which is difficult to back up. And while Thunderbird will move the mail around on the server, it is still creating a huge message store which can negatively impact resources on both the client machine and the mail server.
  
 The main solution we have found is to separate mail into an //active account// and an //archive account//. We create a separate mail account strictly for archival purposes, and keep the //active account// as small as possible for rapid response to the client and fewer resources used on both client and server. The //archive account// is used for permanent storage of old mail, and can be on older, slower hardware, and not automatically synchronized to the client's computer. archiveIMAP is a perl script which facilitates this. The main solution we have found is to separate mail into an //active account// and an //archive account//. We create a separate mail account strictly for archival purposes, and keep the //active account// as small as possible for rapid response to the client and fewer resources used on both client and server. The //archive account// is used for permanent storage of old mail, and can be on older, slower hardware, and not automatically synchronized to the client's computer. archiveIMAP is a perl script which facilitates this.
 +
 +In addition to traditional IMAP servers, archiveIMAP has been successfully used archiving mail from Microsoft Exchange and gmail. In theory, any mail server which supports an IMAP interface should be able to work. archiveIMAP queries the source and target servers for the delimiter. It is possible that one type of server may allow folders to contain characters not allowed on another, but we have not run into that yet.
  
 ===== Client Perspective ===== ===== Client Perspective =====
Line 38: Line 40:
  
 I am TRYING to get used to the whole "create a branch and work on things there" but I'm not very good at it. But, the code base is pretty stable, so there should not be too many changes. Currently (2019-09-19), you can not do the deleteEmptyFolders as the code breaks when it deletes the folder you're currently in (duh). I think I have that fixed, but for now, simply set it to 0. I am TRYING to get used to the whole "create a branch and work on things there" but I'm not very good at it. But, the code base is pretty stable, so there should not be too many changes. Currently (2019-09-19), you can not do the deleteEmptyFolders as the code breaks when it deletes the folder you're currently in (duh). I think I have that fixed, but for now, simply set it to 0.
 +
 +Check out the folder to whatever directory you want. The configuration file (archiveIMAP.yaml) needs to be in the same directory as the executable. That is hard coded, though we may make fix it later to look in /etc or /usr/local/etc if it turns out to be necessary.
 +
 +The config file is basic YAML. I love YAML, but I'm always scared of messing things up, so there is a sample .cfg file which contains a sample config file in Perl hash format. You can then run the filter //confToYAML.pl// with cfg file as input and a yaml will come as output, ie
 +<code bash>
 +./confToYAML.pl < archiveIMAP.cfg.sample > archiveIMAP.yaml
 +</code>
 +which will, obviously, overwrite archiveIMAP.yaml, so you might want to make a backup first. I'm lazy, so I put a bunch of shortcuts into the config file, so read the README and also the commented sample files.
 +
 +I'd recommend a test run first. Look in the README.
  
 There is some decent documentation, but I'm working on better. The README file has been the source of my sysadmin documentation so far, but I'll see if I can't at least copy it here for future reference. Current version as of 2019-08-22 is v2.1.0. There is some decent documentation, but I'm working on better. The README file has been the source of my sysadmin documentation so far, but I'll see if I can't at least copy it here for future reference. Current version as of 2019-08-22 is v2.1.0.
software/dailydata/archiveimap.1568706546.txt.gz · Last modified: 2019/09/17 02:49 by rodolico