FAQ.General.txt 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690
  1. #!/bin/cat
  2. # $Id: FAQ.General.txt,v 1.246 2022/06/08 10:57:52 gilles Exp gilles $
  3. =======================================================================
  4. General FAQ for imapsync
  5. =======================================================================
  6. This document is also available online at
  7. https://imapsync.lamiral.info/FAQ.d/
  8. https://imapsync.lamiral.info/FAQ.d/FAQ.General.txt
  9. Questions answered in this FAQ are:
  10. Q. Do I need to create IMAP mailboxes at the destination platform?
  11. Q. Am I forced to publish the IMAP service on the Internet since the two
  12. environment are not in the same location or same LAN?
  13. Q. What are the most important differences between the Unix shell syntax
  14. and the Windows batch syntax.
  15. Q. How to install imapsync?
  16. Q. How to upgrade imapsync?
  17. Q. How to use imapsync?
  18. Q. Can you give some configuration examples?
  19. Q. How can I have commercial support?
  20. Q. How can I have gratis support?
  21. Q. Where I can find old imapsync releases?
  22. Q. Where I can find free open and gratis imapsync releases?
  23. Q. Is is legal to find imapsync gratis (or not) elsewhere?
  24. Q. How "Facts and figures" are known
  25. https://imapsync.lamiral.info/#NUMBERS
  26. Q. I use --useuid which uses a cache in /tmp or --tmpdir, the hostnames
  27. host1 or host2 has changed but mailboxes are the same. Will imapsync
  28. generate duplicate messages on next runs?
  29. Q. How can I speed up transfers?
  30. Q. I see warning messages like the following:
  31. "Host1 Sent/15 size 1428 ignored (no header so we ignore this message.
  32. To solve this: use --addheader)".
  33. What can I do to transfer those messages?
  34. Q. How can I try imapsync with latest Mail::IMAPClient 3.xx perl module?
  35. Q. How can I use imapsync with Mail::IMAPClient 2.2.9 perl module?
  36. Q. How to verify imapsync.exe I got is the right file bit per bit?
  37. Q. Folders are not created on host2. What happens?
  38. Q. I am interested in creating a local clone of the IMAP on a LAN
  39. server for faster synchronizations, email will always be delivered
  40. to the remote server and so the synchronization will be one way - from
  41. remote to local. How suited is imapsync for continuous one-way
  42. synchronization of mailboxes? Is there a better solution?
  43. Q. I need to log every output on a file named log.txt
  44. Q. Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in
  45. m/(.{ <-- HERE 1,49947})(?:,|$)/ at Mail/IMAPClient.pm line 2121.
  46. Q. Couldn't create [INBOX.Ops/foo/bar]: NO Invalid mailbox name:
  47. INBOX.Ops/foo/bar
  48. Q. Is it possible to sync also the UIDL of the POP3 server?
  49. Q. Is it possible to sync also the UIDs of the IMAP server?
  50. Q. The option --subscribe does not seem to work
  51. Q. Can Imapsync filter Spam during the sync?
  52. Q. How to migrate from uw-imap with an admin/authuser account?
  53. Q: How to migrate from Sun Java Enterprise System / Sun One / iPlanet /
  54. Netscape servers with an admin account?
  55. Q. Is there a way to delete the destination folder when the source
  56. folder is no longer there?
  57. Q. I would love to have a function to inject lines in the header.
  58. Things like "X-migrated-from-foo: 20100617"
  59. Q. I want to play with headers line and --regexmess but I want to leave
  60. the body as is.
  61. Q. My imap server does not accept a message and warns
  62. "Invalid header". What is the problem?
  63. Q: How can I write an .rpm with imapsync
  64. Q. Where I can read up on the various IMAP RFCs?
  65. Now the questions again with their answers.
  66. =======================================================================
  67. Q. Do I need to create IMAP mailboxes at the destination platform?
  68. R. Yes!
  69. Imapsync does only IMAP and there is no way to create an account
  70. with the standard IMAP protocol. So you have to create them first.
  71. =======================================================================
  72. Q. Am I forced to publish the IMAP service on the Internet since the two
  73. environment are not in the same location or same LAN?
  74. R. The host where you run imapsync has to contact both servers via imap.
  75. You are not obliged to publish the imap service on the Internet if
  76. the host running imapsync can contact both imap servers via imap.
  77. Use their names or their IP addresses.
  78. =======================================================================
  79. Q. What are the most important differences between the Unix shell syntax
  80. and the Windows batch syntax.
  81. R. There are several differences between Unix and Windows
  82. in the command line syntax.
  83. - Character \ on Unix versus ^ on Windows
  84. - Character ' on Unix versus " on Windows
  85. Details:
  86. A) \ versus ^
  87. On Unix shells you can write a single command on multiple lines
  88. by using the escape character \ at the end of each line
  89. (except the last one). On Windows this character is ^
  90. Unix example:
  91. ./imapsync \
  92. --host1 imap.truc.org --user1 foo --password1 secret1 \
  93. --host2 imap.trac.org --user2 bar --password2 secret2
  94. Windows example:
  95. imapsync ^
  96. --host1 imap.truc.org --user1 foo --password1 secret1 ^
  97. --host2 imap.trac.org --user2 bar --password2 secret2
  98. Of course you can write the command on a single line without
  99. characters \ nor ^. I use them because the output is
  100. better, no truncation, pretty print. It's just sugar!
  101. In this FAQ I use \ for examples. Transcript to ^ if
  102. you're on a Windows system.
  103. B) Quote vs Double-quote, ie ' versus "
  104. On Windows the single quote character ' doesn't work
  105. like on Unix so in the examples of this FAQ the
  106. command containing single quotes ' will fail on Windows.
  107. To fix this, just replace single quotes ' by double quotes "
  108. Also on Windows, in examples with \$1, replace
  109. any \$1 by $1 (remove the \ before $).
  110. =======================================================================
  111. Q. How to install imapsync?
  112. R. Read the INSTALL files in the tarball. They are also available at
  113. https://imapsync.lamiral.info/#install
  114. and
  115. https://imapsync.lamiral.info/INSTALL.d/
  116. =======================================================================
  117. Q. How to upgrade imapsync?
  118. R. Do like a fresh installation.
  119. =======================================================================
  120. Q. How to use imapsync?
  121. R. Read the TUTORIAL_Unix.txt file, maybe the README and, if you
  122. encounter problems, the FAQ.d/* files in the tarball.
  123. All are also available and updated at:
  124. https://imapsync.lamiral.info/#doc
  125. =======================================================================
  126. Q. Can you give some configuration examples?
  127. R1. Basic usage is described there:
  128. https://imapsync.lamiral.info/#DOC_BASIC
  129. It is:
  130. imapsync --host1 test1.lamiral.info --user1 test1 --password1 secret1 \
  131. --host2 test2.lamiral.info --user2 test2 --password2 secret2
  132. R2. Some FAQ files contains many examples for several scenarios
  133. https://imapsync.lamiral.info/#doc
  134. (Gmail, Office365, Exchange, Darwin, etc.)
  135. =======================================================================
  136. Q. How can I have commercial support?
  137. R. Buy support from imapsync author: Gilles LAMIRAL
  138. https://imapsync.lamiral.info/#buy_all
  139. =======================================================================
  140. Q. How can I have gratis support?
  141. R. Write to the imapsync author: Gilles LAMIRAL
  142. https://imapsync.lamiral.info/#AUTHOR
  143. I help all users as long as I have time to help them all,
  144. users who bought the support get my help first.
  145. =======================================================================
  146. Q. Where I can find old imapsync releases?
  147. R. Search the internet or ask the author.
  148. =======================================================================
  149. Q. Where I can find free open and gratis imapsync releases?
  150. R. Search the internet or ask the author.
  151. Q. Is is legal to find imapsync gratis (or not) elsewhere?
  152. R. Yes, the license permits it
  153. https://imapsync.lamiral.info/NOLIMIT
  154. =======================================================================
  155. Q. How "Facts and figures" are known
  156. https://imapsync.lamiral.info/#NUMBERS
  157. R. To know wether a newer imapsync exists or not, imapsync does a http
  158. GET to http://imapsync.lamiral.info/VERSION
  159. Via the User-agent parameter it also send:
  160. * imapsync release
  161. * Perl version
  162. * Mail::IMAPClient version
  163. * Operating System
  164. You can remove this behavior by adding option --noreleasecheck on the
  165. command line (or by setting $releasecheck = 0 in the source code)
  166. or by using the github release.
  167. =======================================================================
  168. Q. I use --useuid which uses a cache in /tmp or --tmpdir, the hostnames
  169. host1 or host2 has changed but mailboxes are the same. Will imapsync
  170. generate duplicate messages on next runs?
  171. R. Yes
  172. Q. How can I fix this?
  173. R. The cache path reflects exactly hostnames or ip addresses given via
  174. --host1 and --host2 values. So just change the directory names
  175. of host1 or host2. Use --dry to see if next runs will generate
  176. duplicates.
  177. By default on Unix the cache is like
  178. /tmp/imapsync_cache/host1/user1/host2/user2/...
  179. =======================================================================
  180. Q. How can I speed up transfers?
  181. R. By using --useuid imapsync avoid getting messages headers and build
  182. a cache. On Unix a good thing is to add also --tmpdir /var/tmp
  183. to keep the cache since /tmp is often cleared on reboot.
  184. imapsync ... --useuid
  185. On Unix:
  186. imapsync ... --useuid --tmpdir /var/tmp/
  187. R. Add also --nofoldersizes since the default behavior is to compute
  188. folder sizes. Folder sizes are useless for the transfer, just
  189. useful to see what has to be done on each folder and guess when
  190. the transfer will end (ETA).
  191. R. Add also --noexpungeaftereach if you use --delete1.
  192. But be warn that an interrupted transfer can lose messages
  193. on host2 in a second run if you use a (silly) combination like:
  194. imapsync ... --delete1 --noexpunge1 --noexpungeaftereach --expunge2
  195. Notes about --useuid
  196. Case where building the cache first is necessary (to avoid multiples transfers)
  197. If you run again imapsync with --useuid on a transfer already done without
  198. --useuid then, to avoid messages be copied again, first run imapsync
  199. with --usecache but without --useuid, example scenario:
  200. A] Running with the default options, I began without --useuid
  201. 1) First run with default options
  202. imapsync ...
  203. Too slow, I want to speed up!
  204. 2) Build the cache
  205. imapsync ... --usecache
  206. 3) Speed up now
  207. imapsync ... --useuid
  208. B] I began with --useuid from the first time
  209. 1) First run and next runs with --useuid
  210. imapsync ... --useuid
  211. Inodes number issue.
  212. The cache is simple, it uses the file-system natively,
  213. it's just an empty file per message transfered.
  214. When mailboxes are huge the cache can exhaust the number of inodes
  215. allowed in the filesystem, that's a limitation like limitation
  216. size but it's less often encountered.
  217. On Unix, to predict whether your tmpdir filesystem used by imapsync
  218. will support the whole cache, just run the command "df -i /var/tmp",
  219. if /var/tmp is the --tmpdir argument.
  220. On windows, search and drop me a note about how to count the number
  221. of files allowed in the filesystem.
  222. It seems FAT32 supports 268 435 445 clusters.
  223. Choosing the number of inodes allowed by a filesystem can be done
  224. at the creation of it with "mkfs -N number-of-inodes ..."
  225. imapsync can predict how many messages have to be synced with the
  226. option --justfoldersizes (no transfer will be done)
  227. imapsync ... --justfoldersizes
  228. =======================================================================
  229. Q. I see warning messages like the following:
  230. "Host1 Sent/15 size 1428 ignored (no header so we ignore this message.
  231. To solve this: use --addheader)".
  232. What can I do to transfer those messages?
  233. R1. Like suggested inline, use --addheader option.
  234. Option --addheader will add an header line like
  235. Message-Id: <15@imapsync>
  236. where 15 is the message UID number on host1.
  237. Then imapsync will transfer the changed message on host2.
  238. Duplicates won't happen on next runs.
  239. imapsync ... --addheader
  240. R2. Other solution.
  241. Use --useuid then imapsync will avoid dealing with headers.
  242. imapsync ... --useuid
  243. =======================================================================
  244. Q. How can I try imapsync with latest Mail::IMAPClient 3.xx perl module?
  245. R1 Run:
  246. cpanm Mail::IMAPClient # this uses cpanminus
  247. or
  248. cpan -i Mail::IMAPClient
  249. or
  250. perl -MCPAN -e "install Mail::IMAPClient"
  251. R2 If you want to install the Perl module locally in a directory
  252. - Download latest Mail::IMAPClient 3.xx at
  253. http://search.cpan.org/dist/Mail-IMAPClient/
  254. - untar it anywhere:
  255. tar xzvf Mail-IMAPClient-3.xx.tar.gz
  256. - Get any imapsync (latest is better).
  257. - run imapsync with perl and -I option tailing to use the perl
  258. module Mail-IMAPClient-3.xx. Example:
  259. perl -I./Mail-IMAPClient-3.39/lib ./imapsync ...
  260. or if imapsync is in directory /path/
  261. perl -I./Mail-IMAPClient-3.39/lib /path/imapsync ...
  262. =======================================================================
  263. Q. How can I use imapsync with Mail::IMAPClient 2.2.9 perl module?
  264. R. Mail::IMAPClient 2.2.9 is no longer supported.
  265. Help yourself.
  266. =======================================================================
  267. Q. How to verify imapsync.exe I got is the right file bit per bit?
  268. R. Use md5sum to check integrity of the file.
  269. Get md5sum.exe at http://etree.org/md5com.html
  270. md5sum imapsync.exe
  271. Then compare the checksum with the one given by the author.
  272. =======================================================================
  273. Q. Folders are not created on host2. What happens?
  274. R. Do you use IMAP or POP3 with your client software?
  275. It looks like you use POP3 instead of IMAP, POP3 sees only INBOX.
  276. =======================================================================
  277. Q. I am interested in creating a local clone of the IMAP on a LAN
  278. server for faster synchronizations, email will always be delivered
  279. to the remote server and so the synchronization will be one way - from
  280. remote to local. How suited is imapsync for continuous one-way
  281. synchronization of mailboxes? Is there a better solution?
  282. R. If messages are delivered remotely and you play locally with the
  283. copy, in order to have fast access, then the synchronization can't
  284. be one way. You may change flags, you may move messages in
  285. different folders etc. The issue described is clearly
  286. two-ways sync.
  287. A better tool with this scenario is offlineimap,
  288. designed for this issue, and faster than imapsync.
  289. =======================================================================
  290. Q. I need to log every output on a file named log.txt
  291. R1. imapsync logs on a file by default, its name is given at the
  292. beginning and the end of each run. This name is unique since
  293. it is compound of the current date and time and user2 value.
  294. R2. To change this default name, use --logfile log.txt
  295. imapsync ... --logfile log.txt
  296. =======================================================================
  297. Q. Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in
  298. m/(.{ <-- HERE 1,49947})(?:,|$)/ at Mail/IMAPClient.pm line 2121.
  299. R. Do not use a bigger value than 3276 with --split1 or --split2
  300. =======================================================================
  301. Q. Couldn't create [INBOX.Ops/foo/bar]: NO Invalid mailbox name:
  302. INBOX.Ops/foo/bar
  303. Let begin by an explanation.
  304. Example:
  305. sep1 = /
  306. sep2 = .
  307. imapsync reverts each separator automatically.
  308. a) All / character coming from host1 are converted to . (convert the separator)
  309. b) All . character coming from host1 are converted to / (to avoid
  310. intermediate unwanted folder creation).
  311. So
  312. INBOX/Ops.foo.bar (Ops.foo.bar is just one folder name) will be translated to
  313. INBOX.Ops/foo/bar
  314. Sometimes the sep1 character is not valid on host2 (character "/" usually)
  315. R. Try :
  316. --regextrans2 "s,/,X,g"
  317. It'll convert / character to X
  318. Choose X as you wish: _ or SEP or
  319. any string (including the empty string).
  320. This issue is automatically fixed by default since imapsync
  321. release 1.513, use --nofixslash2 to suppress the fix.
  322. =======================================================================
  323. Q. Is it possible to sync also the UIDL of the POP3 server?
  324. R. imapsync doesn't talk POP3 but I think you mean UID in IMAP.
  325. See next question.
  326. =======================================================================
  327. Q. Is it possible to sync also the UIDs of the IMAP server?
  328. R. UIDs in IMAP are chosen and created by the server, not by the
  329. client software. imapsync is a client software command.
  330. So UIDs cannot be synced by any imap method.
  331. UIDs may be synced via a rsync command between the imap servers but
  332. it implies they are the same software, among other constraints.
  333. =======================================================================
  334. Q. The option --subscribe does not seem to work
  335. R1. Use it with --subscribed
  336. R2. There is also the --subscribe_all option that subscribe
  337. to all folders on host2.
  338. ======================================================================
  339. Q. Can Imapsync filter Spam during the sync?
  340. R. No, imapsync doesn't detect Spam by itself. But I've seen blogs and
  341. Spamassassin documentation explaining solutions to apply Spamassassin
  342. to a imap mailbox. So you can apply one of these solutions on the host1
  343. source mailbox before the imapsync run or on the destination host2
  344. mailbox after the imapsync transfer.
  345. http://www.stearns.org/doc/spamassassin-setup.current.html#isbg
  346. http://euer.krebsco.de/using-spamassassin-on-a-remote-imap-host.html
  347. https://github.com/ook/isbg
  348. Imapsync can delegate this job during its IMAP syncs via the
  349. --pipemess option but the underlying spam tool has to be written.
  350. ======================================================================
  351. Q. How to migrate from uw-imap with an admin/authuser account?
  352. R. Use the following syntax:
  353. imapsync ... --user1="loginuser*admin_user" --password1 "admin_user_password"
  354. ======================================================================
  355. Q: How to migrate from Sun Java Enterprise System / Sun One / iPlanet /
  356. Netscape servers with an admin account?
  357. R: Those imap servers don't allow the typical use of --authuser1 to use an
  358. administrative account. They expect the use of an IMAP command called
  359. proxyauth that is issued after login in as an administrative account.
  360. For example, consider the administrative account 'administrator' and your
  361. real user 'real_user'. The IMAP sequence would be:
  362. OK [CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
  363. CHILDREN BINARY UNSELECT LANGUAGE STARTTLS XSENDER X-NETSCAPE XSERVERINFO
  364. AUTH=PLAIN] imap.server IMAP4 service (Sun Java(tm) System Messaging
  365. Server ...))
  366. 1 LOGIN administrator password
  367. 1 OK User logged in
  368. 2 PROXYAUTH real_user
  369. 2 OK Completed
  370. In imapsync, you can achieve this by using the following options:
  371. --host1 source.imap.server \
  372. --user1 real_user \
  373. --authuser1 administrator \
  374. --proxyauth1 \
  375. --passfile admin.txt
  376. =======================================================================
  377. Q. I would love to have a function to inject lines in the header.
  378. Things like "X-migrated-from-foo: 20100617"
  379. R. You can do that with:
  380. imapsync ... --regexmess 's/\A/X-migrated-from-foo: 20100617\n/'
  381. It will insert a first header line containing "X-migrated-from-foo: 20100617"
  382. =======================================================================
  383. Q. I want to play with headers line and --regexmess but I want to leave
  384. the body as is.
  385. R. The header/body separation is a blank line so an example:
  386. --regexmess 's{\A(.*?(?! ^$))^Date:(.*?)$}{$1Date:$2\nX-Date:$2}gxms'
  387. Will replace the next three lines
  388. Message-ID: <499EF800.4030002@blabla.fr>
  389. Date: Fri, 20 Feb 2009 19:35:44 +0100
  390. From: Gilles LAMIRAL <lamiral@linux-france.org>
  391. by the next four lines
  392. Message-ID: <499EF800.4030002@blabla.fr>
  393. Date: Fri, 20 Feb 2009 19:35:44 +0100
  394. X-Date: Fri, 20 Feb 2009 19:35:44 +0100
  395. From: Gilles LAMIRAL <lamiral@linux-france.org>
  396. This example just add an header line "X-Date:" based on "Date:" line.
  397. =======================================================================
  398. Q. My imap server does not accept a message and warns
  399. "Invalid header". What is the problem?
  400. R. You fall in the classical mbox versus Maildir/ format
  401. problem. May be you use a misconfigured procmail rule.
  402. A header beginning like the following one is in the mbox
  403. format, header line 1 has no colon behind "From", header
  404. lines 2 through N do have a colon :
  405. From foo@yoyo.org Sat Jun 22 01:10:21 2002
  406. Return-Path: <foo@yoyo.org>
  407. Received: ...
  408. Any Maildir/ configured imap server may refuse this message since its
  409. header is invalid. The first "From " line is not valid. It lacks a
  410. colon character ":". To solve this issue you have several solutions
  411. a) Remove manually this first "From " line for each message before
  412. using imapsync.
  413. b) Replace manually the whitespace by a colon in string "From " but you
  414. might end with two "From:" lines (just have a look at the other
  415. header lines of the message)
  416. c) Run imapsync with the following option (this replaces "From "by "From:"):
  417. --regexmess 's/\AFrom /From: /'
  418. or may be better (no other "From:" collision):
  419. d) Run imapsync with the following option (this replaces "From "by "X-om:"):
  420. --regexmess 's/\AFrom /X-From: /'
  421. e) Run imapsync with the following option (this removes the whole "From " line):
  422. --regexmess 's{\AFrom\ [^\n]*(\n)?}{}gxms'
  423. Solution e) is solution a) made by imapsync itself.
  424. Solutions c) and d) keep "From " lines information
  425. (normally it's useless to keep them)
  426. Best solutions are e) or d).
  427. I prefer the d) solution because it fixes the issue
  428. and keeps the old "From" value while the e) solution removes
  429. the old "From" value definitively.
  430. ======================================================================
  431. Q: How can I write an .rpm with imapsync
  432. R. You'll find an RPM imapsync.spec file in the directory learn/rpm/
  433. It has been downloaded from
  434. https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SPECS/imapsync.spec
  435. It has been tested with imapsync 1.434 (May 2011) on CentOS5
  436. and RedHat RHEL5 Linux. (Thanks to Ole Holm Nielsen).
  437. This imapsync.spec is coming from Neil Brown work in 2007.
  438. =======================================================================
  439. Q. Where I can read up on the various IMAP RFCs?
  440. R. Here:
  441. RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
  442. http://www.faqs.org/rfcs/rfc3501.html
  443. RFC 2683 - IMAP4 Implementation Recommendations
  444. http://www.faqs.org/rfcs/rfc2683.html
  445. RFC 2595 - Using TLS with IMAP, POP3 and ACAP
  446. http://www.faqs.org/rfcs/rfc2595.html
  447. RFC 2822 - Internet Message Format
  448. http://www.faqs.org/rfcs/rfc2822.html
  449. RFC 2342 - IMAP4 Namespace
  450. http://www.faqs.org/rfcs/rfc2342.html
  451. RFC 2180 - IMAP4 Multi-Accessed Mailbox Practice
  452. http://www.faqs.org/rfcs/rfc2180.html
  453. RFC 4549 - Synchronization Operations for Disconnected IMAP4 Clients
  454. http://www.faqs.org/rfcs/rfc4549.html
  455. =======================================================================
  456. =======================================================================