[Dovecot] ot: mirroring/archiving to a Mac?
I have Doveot 2.1.1 on Centos, all's well
user mails are kept for 60 days, then, 'aged off' (deleted)
a Mac user with two domains and two dozen users asked me:
can I set a mail server on my home Mac server, and, 'mirror' the real mail server mailboxes so than I can have an offline mail archive for ever ?
I know very little about Macs, can I setup dovceot on Mac? any tips/suggestions/howtos for mirroring/archiving as so?
Am 08.05.2013 02:30, schrieb voytek@sbt.net.au:
I have Doveot 2.1.1 on Centos, all's well
user mails are kept for 60 days, then, 'aged off' (deleted)
a Mac user with two domains and two dozen users asked me:
can I set a mail server on my home Mac server, and, 'mirror' the real mail server mailboxes so than I can have an offline mail archive for ever ?
I know very little about Macs, can I setup dovceot on Mac? any tips/suggestions/howtos for mirroring/archiving as so?
yes http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPag...
and for the archive itself imapsync and cron is his friend
On Wed, May 8, 2013 10:34 am, Reindl Harald wrote:
yes http://developer.apple.com/library/mac/documentation/Darwin/Reference/Man Pages/man1/dovecot.1.html
and for the archive itself imapsync and cron is his friend
Reindl,
thanks, so, dovecot should be there already, I'd just need to config it, and, I could run imapsync on the real server to 'push' sync process to the Mac; or, possibly run impasync on Mac to 'pull' sync,
thanks, sounds good
Le 8 mai 2013 à 02:44, voytek@sbt.net.au a écrit :
On Wed, May 8, 2013 10:34 am, Reindl Harald wrote:
yes http://developer.apple.com/library/mac/documentation/Darwin/Reference/Man Pages/man1/dovecot.1.html
and for the archive itself imapsync and cron is his friend
Reindl,
thanks, so, dovecot should be there already, I'd just need to config it, and, I could run imapsync on the real server to 'push' sync process to the Mac;
Hello,
Note that Dovecot comes with the Server version of the OS only. Cost shouldn't be a problem -the Server package is terribly affordable- but, for the purpose you are considering, installing it on a client machine may be somewhat overkill, or even problematic (after all, a server isn't supposed to be run as a general purpose GUI machine...). On the other hand, Dovecot compiles easily and without a glitch on Mac OS X.
HTH, Axel
At 2AM +0200 on 8/05/13 you (Reindl Harald) wrote:
Am 08.05.2013 02:30, schrieb voytek@sbt.net.au:
I have Doveot 2.1.1 on Centos, all's well
user mails are kept for 60 days, then, 'aged off' (deleted)
a Mac user with two domains and two dozen users asked me:
can I set a mail server on my home Mac server, and, 'mirror' the real mail server mailboxes so than I can have an offline mail archive for ever ?
I know very little about Macs, can I setup dovceot on Mac? any tips/suggestions/howtos for mirroring/archiving as so?
yes http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPag...
and for the archive itself imapsync and cron is his friend
Is it possible to use dsync for this? You would need a way to say 'don't delete mails from the destination', and I don't know if it will do that...
Ben
Am 08.05.2013 02:49, schrieb Ben Morrow:
At 2AM +0200 on 8/05/13 you (Reindl Harald) wrote:
Am 08.05.2013 02:30, schrieb voytek@sbt.net.au:
I have Doveot 2.1.1 on Centos, all's well
user mails are kept for 60 days, then, 'aged off' (deleted)
a Mac user with two domains and two dozen users asked me:
can I set a mail server on my home Mac server, and, 'mirror' the real mail server mailboxes so than I can have an offline mail archive for ever ?
I know very little about Macs, can I setup dovceot on Mac? any tips/suggestions/howtos for mirroring/archiving as so?
yes http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPag...
and for the archive itself imapsync and cron is his friend
Is it possible to use dsync for this? You would need a way to say 'don't delete mails from the destination', and I don't know if it will do that...
and that is why i recommended imapsync because it does not delete as long you do not specify it explicit
usage: /usr/bin/imapsync [options]
Several options are mandatory.
--dry : Makes imapsync doing nothing, just print what would be done without --dry.
--host1 <string> : Source or "from" imap server. Mandatory. --port1 <int> : Port to connect on host1. Default is 143. --user1 <string> : User to login on host1. Mandatory. --showpasswords : Shows passwords on output instead of "MASKED". Useful to restart a complete run by just reading a log. --password1 <string> : Password for the user1. --host2 <string> : "destination" imap server. Mandatory. --port2 <int> : Port to connect on host2. Default is 143. --user2 <string> : User to login on host2. Mandatory. --password2 <string> : Password for the user2.
--passfile1 <string> : Password file for the user1. It must contain the password on the first line. This option avoids to show the password on the command line like --password1 does. --passfile2 <string> : Password file for the user2. Contains the password. --domain1 <string> : Domain on host1 (NTLM authentication). --domain2 <string> : Domain on host2 (NTLM authentication). --authuser1 <string> : User to auth with on host1 (admin user). Avoid using --authmech1 SOMETHING with --authuser1. --authuser2 <string> : User to auth with on host2 (admin user). --proxyauth1 : Use proxyauth on host1. Requires --authuser1. Required by Sun/iPlanet/Netscape IMAP servers to be able to use an administrative user. --proxyauth2 : Use proxyauth on host2. Requires --authuser2. Required by Sun/iPlanet/Netscape IMAP servers to be able to use an administrative user
--authmd51 : Use MD5 authentification for host1. --authmd52 : Use MD5 authentification for host2. --authmech1 <string> : Auth mechanism to use with host1:
PLAIN, LOGIN, CRAM-MD5 etc. Use UPPERCASE.
--authmech2 <string> : Auth mechanism to use with host2. See --authmech1
--ssl1 : Use an SSL connection on host1.
--ssl2 : Use an SSL connection on host2.
--tls1 : Use an TLS connection on host1.
--tls2 : Use an TLS connection on host2.
--folder <string> : Sync this folder.
--folder <string> : and this one, etc.
--folderrec <string> : Sync this folder recursively.
--folderrec <string> : and this one, etc.
--include <regex> : Sync folders matching this regular expression
--include <regex> : or this one, etc.
in case both --include --exclude options are
use, include is done before.
--exclude <regex> : Skips folders matching this regular expression Several folders to avoid: --exclude 'fold1|fold2|f3' skips fold1, fold2 and f3. --exclude <regex> : or this one, etc. --regextrans2 <regex> : Apply the whole regex to each destination folders. --regextrans2 <regex> : and this one. etc. When you play with the --regextrans2 option, first add also the safe options --dry --justfolders Then, when happy, remove --dry, remove --justfolders. Have in mind that --regextrans2 is applied after prefix and separator inversion.
--tmpdir <string> : Where to store temporary files and subdirectories. Will be created if it doesn't exist. Default is system specific, Unix is /tmp but it's often small and deleted at reboot. --tmpdir /var/tmp should be better. --pidfile <string> : The file where imapsync pid is written. --pidfilelocking : Abort if pidfile already exists. Usefull to avoid concurrent transfers on the same mailbox.
--prefix1 <string> : Remove prefix to all destination folders (usually INBOX. or INBOX/ or an empty string "") you have to use --prefix1 if host1 imap server does not have NAMESPACE capability, all other cases are bad. --prefix2 <string> : Add prefix to all host2 folders. See --prefix1 --sep1 <string> : Host1 separator in case NAMESPACE is not supported. --sep2 <string> : Host2 separator in case NAMESPACE is not supported.
--regexmess <regex> : Apply the whole regex to each message before transfer. Example: 's/\000/ /g' # to replace null by space. --regexmess <regex> : and this one. --regexmess <regex> : and this one, etc. --regexflag <regex> : Apply the whole regex to each flags list. Example: 's/"Junk"//g' # to remove "Junk" flag. --regexflag <regex> : and this one, etc.
--delete : Deletes messages on host1 server after a successful transfer. Option --delete has the following behavior: it marks messages as deleted with the IMAP flag \Deleted, then messages are really deleted with an EXPUNGE IMAP command. --delete2 : Delete messages in host2 that are not in host1 server. Useful for backup or pre-sync. --delete2duplicates : Delete messages in host2 that are duplicates. Works only without --useuid since duplicates are detected with header part of each message. --delete2folders : Delete folders in host2 that are not in host1 server. For safety, first try it like this (it is safe): --delete2folders --dry --justfolders --nofoldersizes --delete2foldersonly <regex>: Deleted only folders matching regex. --delete2foldersbutnot <regex>: Do not delete folders matching regex. Example: --delete2foldersbutnot "/Tasks|Contacts|Foo/" --noexpunge : Do not expunge messages on host1. Expunge really deletes messages marked deleted. Expunge is made at the beginning, on host1 only. Newly transferred messages are also expunged if option --delete is given. No expunge is done on host2 account (unless --expunge2) --expunge1 : Expunge messages on host1 after messages transfer. --expunge2 : Expunge messages on host2 after messages transfer. --uidexpunge2 : uidexpunge messages on the host2 account that are not on the host1 account, requires --delete2
--syncinternaldates : Sets the internal dates on host2 same as host1. Turned on by default. Internal date is the date a message arrived on a host (mtime). --idatefromheader : Sets the internal dates on host2 same as the "Date:" headers.
--maxsize <int> : Skip messages larger (or equal) than <int> bytes --minsize <int> : Skip messages smaller (or equal) than <int> bytes --maxage <int> : Skip messages older than <int> days. final stats (skipped) don't count older messages see also --minage --minage <int> : Skip messages newer than <int> days. final stats (skipped) don't count newer messages You can do (+ are the messages selected): past|----maxage+++++++++++++++>now past|+++++++++++++++minage---->now past|----maxage+++++minage---->now (intersection) past|++++minage-----maxage++++>now (union)
--search <string> : Selects only messages returned by this IMAP SEARCH command. Applied on both sides. --search1 <string> : Same as --search for selecting host1 messages only. --search2 <string> : Same as --search for selecting host2 messages only. --search CRIT equals --search1 CRIT --search2 CRIT
--exitwhenover <int> : Stop syncing when total bytes transferred reached. Gmail per day allows 2500000000 down 500000000 upload.
--useheader <string> : Use this header to compare messages on both sides. Ex: Message-ID or Subject or Date. --useheader <string> and this one, etc.
--subscribed : Transfers subscribed folders. --subscribe : Subscribe to the folders transferred on the host2 that are subscribed on host1. On by default. --subscribe_all : Subscribe to the folders transferred on the host2 even if they are not subscribed on host1.
--nofoldersizes : Do not calculate the size of each folder in bytes and message counts. Default is to calculate them. --nofoldersizesatend : Do not calculate the size of each folder in bytes and message counts at the end. Default is on. --justfoldersizes : Exit after having printed the folder sizes.
--syncacls : Synchronises acls (Access Control Lists). --nosyncacls : Does not synchronize acls. This is the default. Acls in IMAP are not standardized, be careful.
--usecache : Use cache to speedup. --nousecache : Do not use cache. Caveat: --useuid --nousecache creates duplicates on multiple runs. --useuid : Use uid instead of header as a criterium to recognize messages. Option --usecache is then implied unless --nousecache is used.
--debug : Debug mode. --debugcontent : Debug content of the messages transfered. --debugflags : Debug flags. --debugimap1 : IMAP debug mode for host1. imap debug is very verbose. --debugimap2 : IMAP debug mode for host2. --debugimap : IMAP debug mode for host1 and host2.
--version : Print software version. --noreleasecheck : Do not check for new imapsync release (a http request). --justconnect : Just connect to both servers and print useful information. Need only --host1 and --host2 options. --justlogin : Just login to both host1 and host2 with users credentials, then exit. --justfolders : Do only things about folders (ignore messages).
--help : print this help.
Example: to synchronize imap account "foo" on "imap.truc.org" to imap account "bar" on "imap.trac.org" with foo password "secret1" and bar password "secret2"
/usr/bin/imapsync
--host1 imap.truc.org --user1 foo --password1 secret1
--host2 imap.trac.org --user2 bar --password2 secret2
Hi there,
Ben Morrow wrote:
At 2AM +0200 on 8/05/13 you (Reindl Harald) wrote:
Am 08.05.2013 02:30, schrieb voytek@sbt.net.au:
can I set a mail server on my home Mac server, and, 'mirror' the real mail server mailboxes so than I can have an offline mail archive for ever?
and for the archive itself imapsync and cron is his friend
Is it possible to use dsync for this? You would need a way to say 'don't delete mails from the destination', and I don't know if it will do that...
http://wiki2.dovecot.org/Tools/Dsync
There are two operation modes for dsync:
dsync mirror - does a two-way synchronization between two mail locations
dsync backup - backup mails from default mail location to location2 (or vice versa, if -R parameter is given) No changes are ever done to the source location. Any changes done in destination are discarded.
The advantage of dsync over imapsync is that UUIDs of mails can be preserved if Dovecot is running on target side. Imapsync cannot access Dovecot internals, it is just an IMAP client.
Regards Daniel
participants (5)
-
Axel Luttgens
-
Ben Morrow
-
Daniel Parthey
-
Reindl Harald
-
voytek@sbt.net.au