microsoft.exchange.webservices.data.core.service.item.EmailMessage Java Examples
The following examples show how to use
microsoft.exchange.webservices.data.core.service.item.EmailMessage.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: EwsUtilitiesTest.java From ews-java-api with MIT License | 6 votes |
@Test public void testGetItemTypeFromXmlElementName() { assertEquals(Task.class, EwsUtilities.getItemTypeFromXmlElementName("Task")); assertEquals(EmailMessage.class, EwsUtilities.getItemTypeFromXmlElementName("Message")); assertEquals(PostItem.class, EwsUtilities.getItemTypeFromXmlElementName("PostItem")); assertEquals(SearchFolder.class, EwsUtilities.getItemTypeFromXmlElementName("SearchFolder")); assertEquals(Conversation.class, EwsUtilities.getItemTypeFromXmlElementName("Conversation")); assertEquals(Folder.class, EwsUtilities.getItemTypeFromXmlElementName("Folder")); assertEquals(CalendarFolder.class, EwsUtilities.getItemTypeFromXmlElementName("CalendarFolder")); assertEquals(MeetingMessage.class, EwsUtilities.getItemTypeFromXmlElementName("MeetingMessage")); assertEquals(Contact.class, EwsUtilities.getItemTypeFromXmlElementName("Contact")); assertEquals(Item.class, EwsUtilities.getItemTypeFromXmlElementName("Item")); assertEquals(Appointment.class, EwsUtilities.getItemTypeFromXmlElementName("CalendarItem")); assertEquals(ContactsFolder.class, EwsUtilities.getItemTypeFromXmlElementName("ContactsFolder")); assertEquals(MeetingRequest.class, EwsUtilities.getItemTypeFromXmlElementName("MeetingRequest")); assertEquals(TasksFolder.class, EwsUtilities.getItemTypeFromXmlElementName("TasksFolder")); assertEquals(MeetingCancellation.class, EwsUtilities.getItemTypeFromXmlElementName("MeetingCancellation")); assertEquals(MeetingResponse.class, EwsUtilities.getItemTypeFromXmlElementName("MeetingResponse")); assertEquals(ContactGroup.class, EwsUtilities.getItemTypeFromXmlElementName("DistributionList")); }
Example #2
Source File: ExchangeFileSystem.java From iaf with Apache License 2.0 | 5 votes |
@Override public Map<String, Object> getAdditionalFileProperties(Item f) throws FileSystemException { EmailMessage emailMessage; // PropertySet ps = new PropertySet(EmailMessageSchema.DateTimeReceived, // EmailMessageSchema.From, EmailMessageSchema.Subject, // EmailMessageSchema.Body, // EmailMessageSchema.DateTimeSent); PropertySet ps=PropertySet.FirstClassProperties; try { emailMessage = EmailMessage.bind(exchangeService, f.getId(), ps); Map<String, Object> result=new LinkedHashMap<String,Object>(); result.put("mailId", emailMessage.getInternetMessageId()); result.put("toRecipients", makeListOfAdresses(emailMessage.getToRecipients())); result.put("ccRecipients", makeListOfAdresses(emailMessage.getCcRecipients())); result.put("bccRecipients", makeListOfAdresses(emailMessage.getBccRecipients())); result.put("from", emailMessage.getFrom().getAddress()); result.put("subject", emailMessage.getSubject()); result.put("dateTimeSent", emailMessage.getDateTimeSent()); result.put("dateTimeReceived", emailMessage.getDateTimeReceived()); Map<String,String> headers = new LinkedHashMap<String,String>(); for(InternetMessageHeader internetMessageHeader : emailMessage.getInternetMessageHeaders()) { headers.put(internetMessageHeader.getName(), internetMessageHeader.getValue()); } result.put("headers", headers); // for (Entry<PropertyDefinition, Object> entry:emailMessage.getPropertyBag().getProperties().entrySet()) { // result.put(entry.getKey().getName(), entry.getValue()); // } return result; } catch (Exception e) { throw new FileSystemException(e); } }
Example #3
Source File: ExchangeMailListener.java From iaf with Apache License 2.0 | 5 votes |
@Override public Message extractMessage(Item rawMessage, Map<String,Object> threadContext) throws ListenerException { if (!EMAIL_MESSAGE_TYPE.equals(getMessageType())) { return super.extractMessage(rawMessage, threadContext); } Item item = (Item) rawMessage; try { XmlBuilder emailXml = new XmlBuilder("email"); EmailMessage emailMessage; PropertySet ps; if (isSimple()) { ps = new PropertySet(EmailMessageSchema.Subject); emailMessage = EmailMessage.bind(getFileSystem().getExchangeService(), item.getId(), ps); emailMessage.load(); addEmailInfoSimple(emailMessage, emailXml); } else { ps = new PropertySet(EmailMessageSchema.DateTimeReceived, EmailMessageSchema.From, EmailMessageSchema.Subject, EmailMessageSchema.Body, EmailMessageSchema.DateTimeSent); emailMessage = EmailMessage.bind(getFileSystem().getExchangeService(), item.getId(), ps); emailMessage.load(); addEmailInfo(emailMessage, emailXml); } if (StringUtils.isNotEmpty(getStoreEmailAsStreamInSessionKey())) { emailMessage.load(new PropertySet(ItemSchema.MimeContent)); MimeContent mc = emailMessage.getMimeContent(); ByteArrayInputStream bis = new ByteArrayInputStream(mc.getContent()); threadContext.put(getStoreEmailAsStreamInSessionKey(), bis); } return new Message(emailXml.toXML()); } catch (Exception e) { throw new ListenerException(e); } }
Example #4
Source File: ConsumeEWS.java From localization_nifi with Apache License 2.0 | 4 votes |
/** * Fills the internal message queue if such queue is empty. This is due to * the fact that per single session there may be multiple messages retrieved * from the email server (see FETCH_SIZE). */ protected void fillMessageQueueIfNecessary(ProcessContext context) throws ProcessException { if (this.messageQueue.isEmpty()) { ExchangeService service = this.initializeIfNecessary(context); boolean deleteOnRead = context.getProperty(SHOULD_DELETE_MESSAGES).getValue().equals("true"); boolean markAsRead = context.getProperty(SHOULD_MARK_READ).getValue().equals("true"); try { //Get Folder Folder folder = getFolder(service); ItemView view = new ItemView(messageQueue.remainingCapacity()); view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Ascending); SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false)); FindItemsResults<Item> findResults = service.findItems(folder.getId(), sf, view); if(findResults == null || findResults.getItems().size()== 0){ return; } service.loadPropertiesForItems(findResults, PropertySet.FirstClassProperties); for (Item item : findResults) { EmailMessage ewsMessage = (EmailMessage) item; messageQueue.add(parseMessage(ewsMessage)); if(deleteOnRead){ ewsMessage.delete(DeleteMode.HardDelete); } else if(markAsRead){ ewsMessage.setIsRead(true); ewsMessage.update(ConflictResolutionMode.AlwaysOverwrite); } } service.close(); } catch (Exception e) { throw new ProcessException("Failed retrieving new messages from EWS.", e); } } }
Example #5
Source File: ConsumeEWS.java From nifi with Apache License 2.0 | 4 votes |
/** * Fills the internal message queue if such queue is empty. This is due to * the fact that per single session there may be multiple messages retrieved * from the email server (see FETCH_SIZE). */ protected void fillMessageQueueIfNecessary(ProcessContext context) throws ProcessException { if (this.messageQueue.isEmpty()) { ExchangeService service = this.initializeIfNecessary(context); boolean deleteOnRead = context.getProperty(SHOULD_DELETE_MESSAGES).getValue().equals("true"); boolean markAsRead = context.getProperty(SHOULD_MARK_READ).getValue().equals("true"); String includeHeaders = context.getProperty(INCLUDE_EMAIL_HEADERS).getValue(); String excludeHeaders = context.getProperty(EXCLUDE_EMAIL_HEADERS).getValue(); List<String> includeHeadersList = null; List<String> excludeHeadersList = null; if (!StringUtils.isEmpty(includeHeaders)) { includeHeadersList = Arrays.asList(includeHeaders.split(",")); } if (!StringUtils.isEmpty(excludeHeaders)) { excludeHeadersList = Arrays.asList(excludeHeaders.split(",")); } try { //Get Folder Folder folder = getFolder(service); ItemView view = new ItemView(messageQueue.remainingCapacity()); view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Ascending); SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false)); FindItemsResults<Item> findResults = service.findItems(folder.getId(), sf, view); if(findResults == null || findResults.getItems().size()== 0){ return; } service.loadPropertiesForItems(findResults, PropertySet.FirstClassProperties); for (Item item : findResults) { EmailMessage ewsMessage = (EmailMessage) item; messageQueue.add(parseMessage(ewsMessage,includeHeadersList,excludeHeadersList)); if(deleteOnRead){ ewsMessage.delete(DeleteMode.HardDelete); } else if(markAsRead){ ewsMessage.setIsRead(true); ewsMessage.update(ConflictResolutionMode.AlwaysOverwrite); } } service.close(); } catch (Exception e) { throw new ProcessException("Failed retrieving new messages from EWS.", e); } } }
Example #6
Source File: ExchangeMailListener.java From iaf with Apache License 2.0 | 4 votes |
private void addEmailInfoSimple(EmailMessage emailMessage, XmlBuilder emailXml) throws Exception { XmlBuilder subjectXml = new XmlBuilder("subject"); subjectXml.setCdataValue(emailMessage.getSubject()); emailXml.addSubElement(subjectXml); }