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.
>
>

Reply via email to