mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 08:23:48 +03:00
mention that imported messages are not deduplicated
so importing twice can result in duplicates. related to issue #180
This commit is contained in:
parent
fdcd2eb0eb
commit
beee03574a
4 changed files with 11 additions and 2 deletions
6
doc.go
6
doc.go
|
@ -695,6 +695,9 @@ recipients to be accepted, unless other reputation signals prevent that.
|
||||||
Users can also import mailboxes/messages through the account web page by
|
Users can also import mailboxes/messages through the account web page by
|
||||||
uploading a zip or tgz file with mbox and/or maildirs.
|
uploading a zip or tgz file with mbox and/or maildirs.
|
||||||
|
|
||||||
|
Messages are imported even if already present. Importing messages twice will
|
||||||
|
result in duplicate messages.
|
||||||
|
|
||||||
Mailbox flags, like "seen", "answered", will be imported. An optional
|
Mailbox flags, like "seen", "answered", will be imported. An optional
|
||||||
dovecot-keywords file can specify additional flags, like Forwarded/Junk/NotJunk.
|
dovecot-keywords file can specify additional flags, like Forwarded/Junk/NotJunk.
|
||||||
|
|
||||||
|
@ -722,6 +725,9 @@ recipients to be accepted, unless other reputation signals prevent that.
|
||||||
Users can also import mailboxes/messages through the account web page by
|
Users can also import mailboxes/messages through the account web page by
|
||||||
uploading a zip or tgz file with mbox and/or maildirs.
|
uploading a zip or tgz file with mbox and/or maildirs.
|
||||||
|
|
||||||
|
Messages are imported even if already present. Importing messages twice will
|
||||||
|
result in duplicate messages.
|
||||||
|
|
||||||
usage: mox import mbox accountname mailboxname mbox
|
usage: mox import mbox accountname mailboxname mbox
|
||||||
|
|
||||||
# mox export maildir
|
# mox export maildir
|
||||||
|
|
|
@ -42,6 +42,9 @@ recipients to be accepted, unless other reputation signals prevent that.
|
||||||
|
|
||||||
Users can also import mailboxes/messages through the account web page by
|
Users can also import mailboxes/messages through the account web page by
|
||||||
uploading a zip or tgz file with mbox and/or maildirs.
|
uploading a zip or tgz file with mbox and/or maildirs.
|
||||||
|
|
||||||
|
Messages are imported even if already present. Importing messages twice will
|
||||||
|
result in duplicate messages.
|
||||||
`
|
`
|
||||||
|
|
||||||
func cmdImportMaildir(c *cmd) {
|
func cmdImportMaildir(c *cmd) {
|
||||||
|
|
|
@ -1586,7 +1586,7 @@ const index = async () => {
|
||||||
}
|
}
|
||||||
}, importFieldset = dom.fieldset(dom.div(style({ marginBottom: '1ex' }), dom.label(dom.div(style({ marginBottom: '.5ex' }), 'File'), dom.input(attr.type('file'), attr.required(''), attr.name('file'), function focus() {
|
}, importFieldset = dom.fieldset(dom.div(style({ marginBottom: '1ex' }), dom.label(dom.div(style({ marginBottom: '.5ex' }), 'File'), dom.input(attr.type('file'), attr.required(''), attr.name('file'), function focus() {
|
||||||
mailboxFileHint.style.display = '';
|
mailboxFileHint.style.display = '';
|
||||||
})), mailboxFileHint = dom.p(style({ display: 'none', fontStyle: 'italic', marginTop: '.5ex' }), 'This file must either be a zip file or a gzipped tar file with mbox and/or maildir mailboxes. For maildirs, an optional file "dovecot-keywords" is read additional keywords, like Forwarded/Junk/NotJunk. If an imported mailbox already exists by name, messages are added to the existing mailbox. If a mailbox does not yet exist it will be created.')), dom.div(style({ marginBottom: '1ex' }), dom.label(dom.div(style({ marginBottom: '.5ex' }), 'Skip mailbox prefix (optional)'), dom.input(attr.name('skipMailboxPrefix'), function focus() {
|
})), mailboxFileHint = dom.p(style({ display: 'none', fontStyle: 'italic', marginTop: '.5ex' }), 'This file must either be a zip file or a gzipped tar file with mbox and/or maildir mailboxes. For maildirs, an optional file "dovecot-keywords" is read additional keywords, like Forwarded/Junk/NotJunk. If an imported mailbox already exists by name, messages are added to the existing mailbox. If a mailbox does not yet exist it will be created. Messages are not deduplicated, importing them twice will result in duplicates.')), dom.div(style({ marginBottom: '1ex' }), dom.label(dom.div(style({ marginBottom: '.5ex' }), 'Skip mailbox prefix (optional)'), dom.input(attr.name('skipMailboxPrefix'), function focus() {
|
||||||
mailboxPrefixHint.style.display = '';
|
mailboxPrefixHint.style.display = '';
|
||||||
})), mailboxPrefixHint = dom.p(style({ display: 'none', fontStyle: 'italic', marginTop: '.5ex' }), 'If set, any mbox/maildir path with this prefix will have it stripped before importing. For example, if all mailboxes are in a directory "Takeout", specify that path in the field above so mailboxes like "Takeout/Inbox.mbox" are imported into a mailbox called "Inbox" instead of "Takeout/Inbox".')), dom.div(dom.submitbutton('Upload and import'), dom.p(style({ fontStyle: 'italic', marginTop: '.5ex' }), 'The file is uploaded first, then its messages are imported, finally messages are matched for threading. Importing is done in a transaction, you can abort the entire import before it is finished.')))), importAbortBox = dom.div(), // Outside fieldset because it gets disabled, above progress because may be scrolling it down quickly with problems.
|
})), mailboxPrefixHint = dom.p(style({ display: 'none', fontStyle: 'italic', marginTop: '.5ex' }), 'If set, any mbox/maildir path with this prefix will have it stripped before importing. For example, if all mailboxes are in a directory "Takeout", specify that path in the field above so mailboxes like "Takeout/Inbox.mbox" are imported into a mailbox called "Inbox" instead of "Takeout/Inbox".')), dom.div(dom.submitbutton('Upload and import'), dom.p(style({ fontStyle: 'italic', marginTop: '.5ex' }), 'The file is uploaded first, then its messages are imported, finally messages are matched for threading. Importing is done in a transaction, you can abort the entire import before it is finished.')))), importAbortBox = dom.div(), // Outside fieldset because it gets disabled, above progress because may be scrolling it down quickly with problems.
|
||||||
importProgress = dom.div(style({ display: 'none' })), dom.br(), footer);
|
importProgress = dom.div(style({ display: 'none' })), dom.br(), footer);
|
||||||
|
|
|
@ -1362,7 +1362,7 @@ const index = async () => {
|
||||||
mailboxFileHint.style.display = ''
|
mailboxFileHint.style.display = ''
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
mailboxFileHint=dom.p(style({display: 'none', fontStyle: 'italic', marginTop: '.5ex'}), 'This file must either be a zip file or a gzipped tar file with mbox and/or maildir mailboxes. For maildirs, an optional file "dovecot-keywords" is read additional keywords, like Forwarded/Junk/NotJunk. If an imported mailbox already exists by name, messages are added to the existing mailbox. If a mailbox does not yet exist it will be created.'),
|
mailboxFileHint=dom.p(style({display: 'none', fontStyle: 'italic', marginTop: '.5ex'}), 'This file must either be a zip file or a gzipped tar file with mbox and/or maildir mailboxes. For maildirs, an optional file "dovecot-keywords" is read additional keywords, like Forwarded/Junk/NotJunk. If an imported mailbox already exists by name, messages are added to the existing mailbox. If a mailbox does not yet exist it will be created. Messages are not deduplicated, importing them twice will result in duplicates.'),
|
||||||
),
|
),
|
||||||
dom.div(
|
dom.div(
|
||||||
style({marginBottom: '1ex'}),
|
style({marginBottom: '1ex'}),
|
||||||
|
|
Loading…
Reference in a new issue