[Dovecot] ot: mirroring/archiving to a Mac?

Reindl Harald h.reindl at thelounge.net
Wed May 8 03:52:18 EEST 2013



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 at 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/ManPages/man1/dovecot.1.html
>>
>> 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




-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130508/b03a3000/attachment-0001.bin>


More information about the dovecot mailing list