javax.mail.Message.setFlag()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中javax.mail.Message.setFlag()方法的一些代码示例,展示了Message.setFlag()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.setFlag()方法的具体详情如下:
包路径:javax.mail.Message
类名称:Message
方法名:setFlag

Message.setFlag介绍

[英]Set the specified flag on this message to the specified value. This will result in a MessageChangedEvent being delivered to any MessageChangedListener registered on this Message's containing folder.

The default implementation uses the setFlags method.
[中]将此消息上的指定标志设置为指定值。这将导致MessageChangedEvent被传递到在此邮件包含文件夹中注册的任何MessageChangedListener。
默认实现使用setFlags方法。

代码示例

代码示例来源:origin: apache/nifi

emailMessage.setFlag(Flags.Flag.DELETED, this.shouldSetDeleteFlag);
} catch (MessagingException e) {
  this.logger.warn("Failed to set DELETE Flag on the message, data duplication may occur.");

代码示例来源:origin: oblac/jodd

msg.setFlag(Flags.Flag.SEEN, false);

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * PDI-10942 - Job get emails JobEntry does not mark emails as 'read' when load emails content.
 *
 * Test that we always open remote folder in rw mode, and after email attachment is loaded email is marked as read.
 * Set for openFolder rw mode if this is pop3.
 *
 * @throws KettleException
 * @throws MessagingException
 */
@Test
public void testFetchOneFolderModePop3() throws KettleException, MessagingException {
 entry.fetchOneFolder( mailConn, true, "junitImapFolder", "junitRealOutputFolder", "junitTargetAttachmentFolder",
   "junitRealMoveToIMAPFolder", "junitRealFilenamePattern", 0, Mockito.mock( SimpleDateFormat.class ) );
 Mockito.verify( mailConn ).openFolder( true );
 Mockito.verify( message ).setFlag( Flag.SEEN, true );
}

代码示例来源:origin: spring-projects/spring-integration

private void setMessageFlags(Message[] filteredMessages) throws MessagingException {
  boolean recentFlagSupported = false;
  Flags flags = getFolder().getPermanentFlags();
  if (flags != null) {
    recentFlagSupported = flags.contains(Flags.Flag.RECENT);
  }
  for (Message message : filteredMessages) {
    if (!recentFlagSupported) {
      if (flags != null && flags.contains(Flags.Flag.USER)) {
        if (this.logger.isDebugEnabled()) {
          this.logger.debug("USER flags are supported by this mail server. Flagging message with '"
              + this.userFlag + "' user flag");
        }
        Flags siFlags = new Flags();
        siFlags.add(this.userFlag);
        message.setFlags(siFlags, true);
      }
      else {
        this.logger.debug("USER flags are not supported by this mail server. " +
            "Flagging message with system flag");
        message.setFlag(Flags.Flag.FLAGGED, true);
      }
    }
    setAdditionalFlags(message);
  }
}

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * PDI-10942 - Job get emails JobEntry does not mark emails as 'read' when load emails content.
 *
 * Test that we always open remote folder in rw mode, and after email attachment is loaded email is marked as read.
 * protocol IMAP and default remote folder is overridden
 *
 * @throws KettleException
 * @throws MessagingException
 */
@Test
public void testFetchOneFolderModeIMAPWithNonDefFolder() throws KettleException, MessagingException {
 entry.fetchOneFolder( mailConn, false, "junitImapFolder", "junitRealOutputFolder", "junitTargetAttachmentFolder",
   "junitRealMoveToIMAPFolder", "junitRealFilenamePattern", 0, Mockito.mock( SimpleDateFormat.class ) );
 Mockito.verify( mailConn ).openFolder( "junitImapFolder", true );
 Mockito.verify( message ).setFlag( Flag.SEEN, true );
}

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * Delete current fetched message
 *
 * @throws KettleException
 */
public void deleteMessage() throws KettleException {
 try {
  this.message.setFlag( Flags.Flag.DELETED, true );
  updateDeletedMessagesCounter();
 } catch ( Exception e ) {
  throw new KettleException( BaseMessages.getString( PKG, "MailConnection.Error.DeletingMessage", ""
   + getMessage().getMessageNumber() ), e );
 }
}

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * PDI-10942 - Job get emails JobEntry does not mark emails as 'read' when load emails content.
 *
 * Test that we always open remote folder in rw mode, and after email attachment is loaded email is marked as read.
 * protocol IMAP and default remote folder is NOT overridden
 *
 * @throws KettleException
 * @throws MessagingException
 */
@Test
public void testFetchOneFolderModeIMAPWithIsDefFolder() throws KettleException, MessagingException {
 entry.fetchOneFolder( mailConn, false, null, "junitRealOutputFolder", "junitTargetAttachmentFolder",
     "junitRealMoveToIMAPFolder", "junitRealFilenamePattern", 0, Mockito.mock( SimpleDateFormat.class ) );
 Mockito.verify( mailConn ).openFolder( true );
 Mockito.verify( message ).setFlag( Flag.SEEN, true );
}

代码示例来源:origin: spring-projects/spring-integration

/**
 * Deletes the given messages from this receiver's folder.
 * @param messages the messages to delete
 * @throws MessagingException in case of JavaMail errors
 */
protected void deleteMessages(Message[] messages) throws MessagingException {
  for (Message message : messages) {
    message.setFlag(Flags.Flag.DELETED, true);
  }
}

代码示例来源:origin: spring-projects/spring-integration

@Override
protected void setAdditionalFlags(Message message) throws MessagingException {
  super.setAdditionalFlags(message);
  if (this.shouldMarkMessagesAsRead) {
    message.setFlag(Flag.SEEN, true);
  }
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndMarkAsReadDontDelete() throws Exception {
  AbstractMailReceiver receiver = new ImapMailReceiver();
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
  verify(msg1, times(1)).setFlag(Flag.SEEN, true);
  verify(msg2, times(1)).setFlag(Flag.SEEN, true);
  verify(receiver, times(0)).deleteMessages(Mockito.any());
}

代码示例来源:origin: spring-projects/spring-integration

@Test // INT-2991 Flag.SEEN was set twice when a filter is used
public void receiveAndMarkAsReadDontDeletePassingFilter() throws Exception {
  AbstractMailReceiver receiver = new ImapMailReceiver();
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  Expression selectorExpression = new SpelExpressionParser().parseExpression("true");
  receiver.setSelectorExpression(selectorExpression);
  receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
  verify(msg1, times(1)).setFlag(Flag.SEEN, true);
  verify(msg2, times(1)).setFlag(Flag.SEEN, true);
  verify(receiver, times(0)).deleteMessages(Mockito.any());
}

代码示例来源:origin: spring-projects/spring-integration

@Test // INT-2991 filtered messages were marked SEEN
public void receiveAndMarkAsReadDontDeleteFiltered() throws Exception {
  AbstractMailReceiver receiver = new ImapMailReceiver();
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  given(msg2.getSubject()).willReturn("foo"); // should not be marked seen
  Expression selectorExpression = new SpelExpressionParser()
      .parseExpression("subject == null OR !subject.equals('foo')");
  receiver.setSelectorExpression(selectorExpression);
  receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
  verify(msg1, times(1)).setFlag(Flag.SEEN, true);
  verify(msg2, never()).setFlag(Flag.SEEN, true);
  verify(receiver, times(0)).deleteMessages(Mockito.any());
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndDontSetDeleteWithUrl() throws Exception {
  AbstractMailReceiver receiver = new Pop3MailReceiver("pop3://some.host");
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  doAnswer(invocation -> null).when(receiver).openFolder();
  doAnswer(invocation -> messages).when(receiver).searchForNewMessages();
  doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
  receiver.afterPropertiesSet();
  receiver.receive();
  verify(msg1, times(0)).setFlag(Flag.DELETED, true);
  verify(msg2, times(0)).setFlag(Flag.DELETED, true);
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndDontSetDeleteWithoutUrl() throws Exception {
  AbstractMailReceiver receiver = new Pop3MailReceiver();
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  doAnswer(invocation -> null).when(receiver).openFolder();
  doAnswer(invocation -> messages).when(receiver).searchForNewMessages();
  doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
  receiver.afterPropertiesSet();
  receiver.receive();
  verify(msg1, times(0)).setFlag(Flag.DELETED, true);
  verify(msg2, times(0)).setFlag(Flag.DELETED, true);
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndDontDelete() throws Exception {
  AbstractMailReceiver receiver = new Pop3MailReceiver();
  receiver.setShouldDeleteMessages(false);
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  doAnswer(invocation -> null).when(receiver).openFolder();
  doAnswer(invocation -> messages).when(receiver).searchForNewMessages();
  doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
  receiver.afterPropertiesSet();
  receiver.receive();
  verify(msg1, times(0)).setFlag(Flag.DELETED, true);
  verify(msg2, times(0)).setFlag(Flag.DELETED, true);
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndDelete() throws Exception {
  AbstractMailReceiver receiver = new Pop3MailReceiver();
  receiver.setShouldDeleteMessages(true);
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  doAnswer(invocation -> {
    DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
    int folderOpenMode = (Integer) accessor.getPropertyValue("folderOpenMode");
    if (folderOpenMode != Folder.READ_WRITE) {
      throw new IllegalArgumentException("Folder had to be open in READ_WRITE mode");
    }
    return null;
  }).when(receiver).openFolder();
  doAnswer(invocation -> messages).when(receiver).searchForNewMessages();
  doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
  receiver.afterPropertiesSet();
  receiver.receive();
  verify(msg1, times(1)).setFlag(Flag.DELETED, true);
  verify(msg2, times(1)).setFlag(Flag.DELETED, true);
}

代码示例来源:origin: pentaho/pentaho-kettle

mailConn.getMessage().setFlag( Flag.SEEN, true );

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndDontMarkAsRead() throws Exception {
  AbstractMailReceiver receiver = new ImapMailReceiver();
  ((ImapMailReceiver) receiver).setShouldMarkMessagesAsRead(false);
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  willAnswer(invocation -> null).given(receiver).openFolder();
  willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
  willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
  receiver.afterPropertiesSet();
  receiver.receive();
  verify(msg1, times(0)).setFlag(Flag.SEEN, true);
  verify(msg2, times(0)).setFlag(Flag.SEEN, true);
}

代码示例来源:origin: spring-projects/spring-integration

@Test
public void receiveAndIgnoreMarkAsReadDontDelete() throws Exception {
  AbstractMailReceiver receiver = new ImapMailReceiver();
  receiver = spy(receiver);
  receiver.setBeanFactory(mock(BeanFactory.class));
  receiver.afterPropertiesSet();
  Field folderField = AbstractMailReceiver.class.getDeclaredField("folder");
  folderField.setAccessible(true);
  Folder folder = mock(Folder.class);
  given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
  folderField.set(receiver, folder);
  Message msg1 = mock(MimeMessage.class);
  Message msg2 = mock(MimeMessage.class);
  final Message[] messages = new Message[] { msg1, msg2 };
  willAnswer(invocation -> {
    DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
    int folderOpenMode = (int) accessor.getPropertyValue("folderOpenMode");
    if (folderOpenMode != Folder.READ_WRITE) {
      throw new IllegalArgumentException("Folder had to be open in READ_WRITE mode");
    }
    return null;
  }).given(receiver).openFolder();
  willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
  willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
  receiver.receive();
  verify(msg1, times(1)).setFlag(Flag.SEEN, true);
  verify(msg2, times(1)).setFlag(Flag.SEEN, true);
  verify(receiver, times(0)).deleteMessages(Mockito.any());
}

代码示例来源:origin: spring-projects/spring-integration

verify(msg1, times(1)).setFlag(Flag.SEEN, true);
verify(msg2, times(1)).setFlag(Flag.SEEN, true);
verify(receiver, times(1)).deleteMessages(Mockito.any());

相关文章

微信公众号

最新文章

更多