I work on an email archiving product and i have yet to see a server that either sets no message-id or generates non unique ones (the only instance I saw it was exim sending the same message-id as the original for the non-delivered notification, but that was like 6 years ago), so in practice I would consider them unique, just my opinion.
Anyways Hoss is right, not mandatory by the rfc, good to know lol On Wed, Apr 8, 2009 at 2:44 AM, Ryan McKinley (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/SOLR-934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12696849#action_12696849 > ] > > Ryan McKinley commented on SOLR-934: > ------------------------------------ > > bq. FWIW: "Message-ID" while common is not mandatory (see sec3.6 and sec3.6.4 > of RFCs #2822 and #5322) > > In practice you can not rely on the the "Message-ID" to be unique. Most > modern mail servers do a good job making sure each value is unique, but some > old MS mail servers sent the same message ID for *every* message! > >> Enable importing of mails into a solr index through DIH. >> -------------------------------------------------------- >> >> Key: SOLR-934 >> URL: https://issues.apache.org/jira/browse/SOLR-934 >> Project: Solr >> Issue Type: New Feature >> Components: contrib - DataImportHandler >> Affects Versions: 1.4 >> Reporter: Preetam Rao >> Assignee: Shalin Shekhar Mangar >> Fix For: 1.4 >> >> Attachments: SOLR-934.patch, SOLR-934.patch, SOLR-934.patch, >> SOLR-934.patch, SOLR-934.patch >> >> Original Estimate: 24h >> Remaining Estimate: 24h >> >> Enable importing of mails into solr through DIH. Take one or more mailbox >> credentials, download and index their content along with the content from >> attachments. The folders to fetch can be made configurable based on various >> criteria. Apache Tika is used for extracting content from different kinds of >> attachments. JavaMail is used for mail box related operations like fetching >> mails, filtering them etc. >> The basic configuration for one mail box is as below: >> {code:xml} >> <document> >> <entity processor="MailEntityProcessor" user="[email protected]" >> password="something" host="imap.gmail.com" protocol="imaps"/> >> </document> >> {code} >> The below is the list of all configuration available: >> {color:green}Required{color} >> --------- >> *user* >> *pwd* >> *protocol* (only "imaps" supported now) >> *host* >> {color:green}Optional{color} >> --------- >> *folders* - comma seperated list of folders. >> If not specified, default folder is used. Nested folders can be specified >> like a/b/c >> *recurse* - index subfolders. Defaults to true. >> *exclude* - comma seperated list of patterns. >> *include* - comma seperated list of patterns. >> *batchSize* - mails to fetch at once in a given folder. >> Only headers can be prefetched in Javamail IMAP. >> *readTimeout* - defaults to 60000ms >> *conectTimeout* - defaults to 30000ms >> *fetchSize* - IMAP config. 32KB default >> *fetchMailsSince* - >> date/time in "yyyy-MM-dd HH:mm:ss" format, mails received after which will >> be fetched. Useful for delta import. >> *customFilter* - class name. >> {code} >> import javax.mail.Folder; >> import javax.mail.SearchTerm; >> clz implements MailEntityProcessor.CustomFilter() { >> public SearchTerm getCustomSearch(Folder folder); >> } >> {code} >> *processAttachement* - defaults to true >> The below are the indexed fields. >> {code} >> // Fields To Index >> // single valued >> private static final String SUBJECT = "subject"; >> private static final String FROM = "from"; >> private static final String SENT_DATE = "sentDate"; >> private static final String XMAILER = "xMailer"; >> // multi valued >> private static final String TO_CC_BCC = "allTo"; >> private static final String FLAGS = "flags"; >> private static final String CONTENT = "content"; >> private static final String ATTACHMENT = "attachement"; >> private static final String ATTACHMENT_NAMES = "attachementNames"; >> // flag values >> private static final String FLAG_ANSWERED = "answered"; >> private static final String FLAG_DELETED = "deleted"; >> private static final String FLAG_DRAFT = "draft"; >> private static final String FLAG_FLAGGED = "flagged"; >> private static final String FLAG_RECENT = "recent"; >> private static final String FLAG_SEEN = "seen"; >> {code} > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >
