javax.mail.internet.MimeMessage.getContent()方法的使用及代码示例

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

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

MimeMessage.getContent介绍

[英]Return the content as a Java object. The type of this object is dependent on the content itself. For example, the native format of a "text/plain" content is usually a String object. The native format for a "multipart" message is always a Multipart subclass. For content types that are unknown to the DataHandler system, an input stream is returned as the content.

This implementation obtains the content from the DataHandler, that is, it invokes getDataHandler().getContent(). If the content is a Multipart or Message object and was created by parsing a stream, the object is cached and returned in subsequent calls so that modifications to the content will not be lost.
[中]将内容作为Java对象返回。此对象的类型取决于内容本身。例如,“文本/普通”内容的本机格式通常是字符串对象。“multipart”消息的本机格式始终是multipart子类。对于DataHandler系统未知的内容类型,将返回一个输入流作为内容。
此实现从DataHandler获取内容,即调用getDataHandler().getContent()。如果内容是一个多部分或消息对象,并且是通过解析流创建的,那么该对象将被缓存并在后续调用中返回,这样对内容的修改就不会丢失。

代码示例

代码示例来源:origin: BroadleafCommerce/BroadleafCommerce

preparator.prepare(mimeMessage);
LOG.info("\"Sending\" email: ");
if (mimeMessage.getContent() instanceof MimeMultipart) {
  MimeMultipart msg = (MimeMultipart) mimeMessage.getContent();
  DataHandler dh = msg.getBodyPart(0).getDataHandler();
  ByteArrayOutputStream baos = null;
  LOG.info(mimeMessage.getContent());

代码示例来源:origin: SonarSource/sonarqube

@Test
public void shouldSendTestEmail() throws Exception {
 configure();
 underTest.sendTestEmail("user@nowhere", "Test Message from SonarQube", "This is a test message from SonarQube.");
 List<WiserMessage> messages = smtpServer.getMessages();
 assertThat(messages).hasSize(1);
 MimeMessage email = messages.get(0).getMimeMessage();
 assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8");
 assertThat(email.getHeader("From", ",")).isEqualTo("SonarQube from NoWhere <server@nowhere>");
 assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>");
 assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Test Message from SonarQube");
 assertThat((String) email.getContent()).startsWith("This is a test message from SonarQube.");
}

代码示例来源:origin: SonarSource/sonarqube

@Test
public void shouldSendThreadedEmail() throws Exception {
 configure();
 EmailMessage emailMessage = new EmailMessage()
  .setMessageId("reviews/view/1")
  .setFrom("Full Username")
  .setTo("user@nowhere")
  .setSubject("Review #3")
  .setMessage("I'll take care of this violation.");
 boolean delivered = underTest.deliver(emailMessage);
 List<WiserMessage> messages = smtpServer.getMessages();
 assertThat(messages).hasSize(1);
 MimeMessage email = messages.get(0).getMimeMessage();
 assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8");
 assertThat(email.getHeader("In-Reply-To", null)).isEqualTo("<reviews/view/1@nemo.sonarsource.org>");
 assertThat(email.getHeader("References", null)).isEqualTo("<reviews/view/1@nemo.sonarsource.org>");
 assertThat(email.getHeader("List-ID", null)).isEqualTo("SonarQube <sonar.nemo.sonarsource.org>");
 assertThat(email.getHeader("List-Archive", null)).isEqualTo("http://nemo.sonarsource.org");
 assertThat(email.getHeader("From", ",")).isEqualTo("\"Full Username (SonarQube from NoWhere)\" <server@nowhere>");
 assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>");
 assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Review #3");
 assertThat((String) email.getContent()).startsWith("I'll take care of this violation.");
 assertThat(delivered).isTrue();
}

代码示例来源:origin: SonarSource/sonarqube

@Test
public void shouldSendNonThreadedEmail() throws Exception {
 configure();
 EmailMessage emailMessage = new EmailMessage()
  .setTo("user@nowhere")
  .setSubject("Foo")
  .setMessage("Bar");
 boolean delivered = underTest.deliver(emailMessage);
 List<WiserMessage> messages = smtpServer.getMessages();
 assertThat(messages).hasSize(1);
 MimeMessage email = messages.get(0).getMimeMessage();
 assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8");
 assertThat(email.getHeader("In-Reply-To", null)).isNull();
 assertThat(email.getHeader("References", null)).isNull();
 assertThat(email.getHeader("List-ID", null)).isEqualTo("SonarQube <sonar.nemo.sonarsource.org>");
 assertThat(email.getHeader("List-Archive", null)).isEqualTo("http://nemo.sonarsource.org");
 assertThat(email.getHeader("From", null)).isEqualTo("SonarQube from NoWhere <server@nowhere>");
 assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>");
 assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Foo");
 assertThat((String) email.getContent()).startsWith("Bar");
 assertThat(delivered).isTrue();
}

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

@Override
public Object getContent() throws IOException, MessagingException {
  if (AbstractMailReceiver.this.simpleContent) {
    return super.getContent();
  }
  else {
    return this.content;
  }
}

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

assertEquals(sentDate.getTime(), sentMessage.getSentDate().getTime());
assertEquals("my subject", sentMessage.getSubject());
assertEquals("my text", sentMessage.getContent());

代码示例来源:origin: kiegroup/jbpm

@Test(timeout=10000)
public void testTaskReminderWithNotificationByTaskNostarted() throws Exception {
  CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true);
  addCountDownListner(countDownListener);
  
  Map<String, Object> vars = new HashMap<String, Object>();
  vars.put("now", new Date());
  Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath
      .ReminderWithNotificationReserved));
  InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars);
  System.out.println("testTaskReminderWithNotificationByTaskNostarted " + task.getTaskData().getStatus());
  assertEquals(1, task.getDeadlines().getEndDeadlines().size());
  assertEquals(1, task.getDeadlines().getStartDeadlines().size());
  long taskId = taskService.addTask(task, new HashMap<String, Object>());
  taskService.executeReminderForTask(taskId, "Luke Cage");
  countDownListener.waitTillCompleted();
  assertEquals(2, wiser.getMessages().size());
  final List<String> list = new ArrayList<String>(2);
  list.add(wiser.getMessages().get(0).getEnvelopeReceiver());
  list.add(wiser.getMessages().get(1).getEnvelopeReceiver());
  assertTrue(list.contains("tony@domain.com"));
  assertTrue(list.contains("darth@domain.com"));
  MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage();
  assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject());
  assertEquals("task is not started", msg.getContent());
  msg = ((WiserMessage) wiser.getMessages().get(1)).getMimeMessage();
  assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject());
  assertEquals("task is not started", msg.getContent());
}

代码示例来源:origin: kiegroup/jbpm

assertEquals("ReminderWithNotificationInProgress:you have new task to be completed",
    msg.getSubject());
assertEquals("task is not completed", msg.getContent());
assertEquals("task is not completed", msg.getContent());

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

IntegrationMimeMessage(MimeMessage source) throws MessagingException {
  super(source);
  this.source = source;
  if (AbstractMailReceiver.this.simpleContent) {
    this.content = null;
  }
  else {
    Object complexContent;
    try {
      complexContent = source.getContent();
    }
    catch (IOException e) {
      complexContent = "Unable to extract content; see logs: " + e.getMessage();
      AbstractMailReceiver.this.logger.error("Failed to extract content from " + source, e);
    }
    this.content = complexContent;
  }
}

代码示例来源:origin: kiegroup/jbpm

assertEquals("'singleobject'", msg.getContent());
assertEquals("'singleobject'", msg.getSubject());
assertEquals("from@domain.com", ((InternetAddress) msg.getFrom()[0]).getAddress());

代码示例来源:origin: kiegroup/jbpm

assertEquals(myBody, msg.getContent());
assertEquals(mySubject, msg.getSubject());
assertEquals("from@domain.com", ((InternetAddress) msg.getFrom()[0]).getAddress());

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

theMessage = new IntegrationMimeMessage(message);
content = theMessage.getContent();
if (content instanceof String) {
  headers.put(MessageHeaders.CONTENT_TYPE, "text/plain");

代码示例来源:origin: TEAMMATES/teammates

/**
 * Gets the email message body as text.
 */
private String getTextFromEmail(MimeMessage email) throws MessagingException, IOException {
  if (email.isMimeType("text/*")) {
    return (String) email.getContent();
  } else {
    return getTextFromPart(email);
  }
}

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

@Test
void transformerWithinChain() throws Exception {
  try (ClassPathXmlApplicationContext context =
      new ClassPathXmlApplicationContext("mailToStringTransformerWithinChain.xml", this.getClass());) {
    MessageChannel input = new BeanFactoryChannelResolver(context).resolveDestination("input");
    PollableChannel output =
        (PollableChannel) new BeanFactoryChannelResolver(context).resolveDestination("output");
    MimeMessage mimeMessage = Mockito.mock(MimeMessage.class);
    Mockito.when(mimeMessage.getContent()).thenReturn("foo");
    input.send(new GenericMessage<javax.mail.Message>(mimeMessage));
    Message<?> result = output.receive(0);
    assertNotNull(result);
    assertEquals("FOO!!!", result.getPayload());
    Mockito.verify(mimeMessage).getContent();
  }
}

代码示例来源:origin: crashub/crash

@Override
 protected void execute(TestPluginLifeCycle lifeCycle, Wiser wiser) throws IOException, MessagingException, ExecutionException, InterruptedException {
  Shell shell = lifeCycle.createShell();
  lifeCycle.bindClass("produce", Commands.ProduceValue.class);
  lifeCycle.bindClass("consume", Commands.ConsumeObject.class);
  Commands.list.clear();
  BaseProcessContext process = BaseProcessContext.create(shell, "produce | mail send -s the_subject -b admin@gmail.com | consume").execute();
  ShellResponse.Ok ok = assertInstance(ShellResponse.Ok.class, process.getResponse());
  Assert.assertEquals(1, wiser.getMessages().size());
  WiserMessage msg = wiser.getMessages().get(0);
  Assert.assertEquals("foo@gmail.com", msg.getEnvelopeSender());
  Assert.assertEquals("admin@gmail.com", msg.getEnvelopeReceiver());
  Assert.assertEquals("the_subject", msg.getMimeMessage().getSubject());
  String data = new String(msg.getData());
  String content = (String)msg.getMimeMessage().getContent();
  assertTrue(content.contains("&lt;value&gt;abc&lt;/value&gt;"));
  assertTrue(data.contains("Content-Type: text/html;charset=UTF-8"));
  System.out.println("data = " + data);
  assertEquals(Arrays.<Object>asList(new Value("abc")), Commands.list);
 }
};

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

@Test
public void byteArrayMessage() throws Exception {
  byte[] payload = {1, 2, 3};
  org.springframework.messaging.Message<byte[]> message =
      MessageBuilder.withPayload(payload)
      .setHeader(MailHeaders.ATTACHMENT_FILENAME, "attachment.txt")
      .setHeader(MailHeaders.TO, MailTestsHelper.TO)
      .build();
  this.handler.handleMessage(message);
  byte[] buffer = new byte[1024];
  MimeMessage mimeMessage = this.mailSender.getSentMimeMessages().get(0);
  assertTrue("message must be multipart", mimeMessage.getContent() instanceof Multipart);
  int size = new DataInputStream(((Multipart) mimeMessage.getContent()).getBodyPart(0).getInputStream()).read(buffer);
  assertEquals("buffer size does not match", payload.length, size);
  byte[] messageContent = new byte[size];
  System.arraycopy(buffer, 0, messageContent, 0, payload.length);
  assertArrayEquals("buffer content does not match", payload, messageContent);
  assertEquals(mimeMessage.getRecipients(Message.RecipientType.TO).length, MailTestsHelper.TO.length);
}

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

@Test
public void byteArrayMessage() throws Exception {
  byte[] payload = {1, 2, 3};
  org.springframework.messaging.Message<?> message =
      MessageBuilder.withPayload(payload)
      .setHeader(MailHeaders.ATTACHMENT_FILENAME, "attachment.txt")
      .setHeader(MailHeaders.TO, MailTestsHelper.TO)
      .build();
  this.handler.handleMessage(message);
  assertEquals("no mime message should have been sent",
      1, this.mailSender.getSentMimeMessages().size());
  assertEquals("only one simple message must be sent",
      0, this.mailSender.getSentSimpleMailMessages().size());
  byte[] buffer = new byte[1024];
  MimeMessage mimeMessage = this.mailSender.getSentMimeMessages().get(0);
  assertTrue("message must be multipart", mimeMessage.getContent() instanceof Multipart);
  int size = new DataInputStream(((Multipart) mimeMessage.getContent()).getBodyPart(0).getInputStream()).read(buffer);
  assertEquals("buffer size does not match", payload.length, size);
  byte[] messageContent = new byte[size];
  System.arraycopy(buffer, 0, messageContent, 0, payload.length);
  assertArrayEquals("buffer content does not match", payload, messageContent);
  assertEquals(mimeMessage.getRecipients(Message.RecipientType.TO).length, MailTestsHelper.TO.length);
}

代码示例来源:origin: TEAMMATES/teammates

@Test
public void testConvertToMimeMessage() throws Exception {
  EmailWrapper wrapper = getTypicalEmailWrapper();
  MimeMessage email = new JavamailService().parseToEmail(wrapper);
  assertEquals(new InternetAddress(wrapper.getSenderEmail(), wrapper.getSenderName()), email.getFrom()[0]);
  assertEquals(new InternetAddress(wrapper.getReplyTo()), email.getReplyTo()[0]);
  assertEquals(new InternetAddress(wrapper.getRecipient()), email.getRecipients(Message.RecipientType.TO)[0]);
  assertEquals(new InternetAddress(wrapper.getBcc()), email.getRecipients(Message.RecipientType.BCC)[0]);
  assertEquals(wrapper.getSubject(), email.getSubject());
  assertEquals(wrapper.getContent(), email.getContent().toString());
}

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

@Test
public void testImap() throws Exception {
  Message<?> message = this.imapChannel.receive(10000);
  assertNotNull(message);
  MimeMessage mm = (MimeMessage) message.getPayload();
  assertEquals("Foo <foo@bar>", mm.getRecipients(RecipientType.TO)[0].toString());
  assertEquals("Bar <bar@baz>", mm.getFrom()[0].toString());
  assertEquals("Test Email", mm.getSubject());
  assertThat(mm.getContent(), equalTo(TestMailServer.MailServer.MailHandler.BODY + "\r\n"));
}

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

assertTrue(received.getPayload().getLineCount() > -1);
if (simple) {
  assertThat(received.getPayload().getContent(),
      equalTo(TestMailServer.MailServer.MailHandler.BODY + "\r\n"));
  assertThat(received.getPayload().getContent(),
      equalTo(TestMailServer.MailServer.MailHandler.MESSAGE + "\r\n"));

相关文章

MimeMessage类方法