类javax.mail.internet.MimeMultipart源码实例Demo

下面列出了怎么用javax.mail.internet.MimeMultipart的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: jhipster-online   文件: MailServiceIT.java
@Test
public void testSendMultipartEmail() throws Exception {
    mailService.sendEmail("[email protected]", "testSubject", "testContent", true, false);
    verify(javaMailSender).send(messageCaptor.capture());
    MimeMessage message = messageCaptor.getValue();
    MimeMultipart mp = (MimeMultipart) message.getContent();
    MimeBodyPart part = (MimeBodyPart) ((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
    ByteArrayOutputStream aos = new ByteArrayOutputStream();
    part.writeTo(aos);
    assertThat(message.getSubject()).isEqualTo("testSubject");
    assertThat(message.getAllRecipients()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getFrom()[0].toString()).isEqualTo("JHipster Online <[email protected]>");
    assertThat(message.getContent()).isInstanceOf(Multipart.class);
    assertThat(aos.toString()).isEqualTo("\r\ntestContent");
    assertThat(part.getDataHandler().getContentType()).isEqualTo("text/plain; charset=UTF-8");
}
 
源代码2 项目: flowable-engine   文件: EmailSendTaskTest.java
@Test
@Deployment
public void testTextMailWithDataSourceAttachment() throws Exception {
    String fileName = "file-name-to-be-displayed";
    String fileContent = "This is the file content";
    HashMap<String, Object> vars = new HashMap<>();
    vars.put("attachmentsBean", new AttachmentsBean());
    vars.put("fileContent", fileContent);
    vars.put("fileName", fileName);
    runtimeService.startProcessInstanceByKey("textMailWithDataSourceAttachment", vars);

    List<WiserMessage> messages = wiser.getMessages();
    assertThat(messages).hasSize(1);
    WiserMessage message = messages.get(0);
    MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
    assertThat(mm.getCount()).isEqualTo(2);
    String attachmentFileName = mm.getBodyPart(1).getDataHandler().getName();
    assertThat(attachmentFileName).isEqualTo(fileName);
}
 
源代码3 项目: spring-analysis-note   文件: MimeMessageHelper.java
/**
 * Set the given plain text and HTML text as alternatives, offering
 * both options to the email client. Requires multipart mode.
 * <p><b>NOTE:</b> Invoke {@link #addInline} <i>after</i> {@code setText};
 * else, mail readers might not be able to resolve inline references correctly.
 * @param plainText the plain text for the message
 * @param htmlText the HTML text for the message
 * @throws MessagingException in case of errors
 */
public void setText(String plainText, String htmlText) throws MessagingException {
	Assert.notNull(plainText, "Plain text must not be null");
	Assert.notNull(htmlText, "HTML text must not be null");

	MimeMultipart messageBody = new MimeMultipart(MULTIPART_SUBTYPE_ALTERNATIVE);
	getMainPart().setContent(messageBody, CONTENT_TYPE_ALTERNATIVE);

	// Create the plain text part of the message.
	MimeBodyPart plainTextPart = new MimeBodyPart();
	setPlainTextToMimePart(plainTextPart, plainText);
	messageBody.addBodyPart(plainTextPart);

	// Create the HTML text part of the message.
	MimeBodyPart htmlTextPart = new MimeBodyPart();
	setHtmlTextToMimePart(htmlTextPart, htmlText);
	messageBody.addBodyPart(htmlTextPart);
}
 
源代码4 项目: tutorials   文件: MailServiceIntegrationTest.java
@Test
public void testSendMultipartEmail() throws Exception {
    mailService.sendEmail("[email protected]", "testSubject", "testContent", true, false);
    verify(javaMailSender).send(messageCaptor.capture());
    MimeMessage message = messageCaptor.getValue();
    MimeMultipart mp = (MimeMultipart) message.getContent();
    MimeBodyPart part = (MimeBodyPart) ((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
    ByteArrayOutputStream aos = new ByteArrayOutputStream();
    part.writeTo(aos);
    assertThat(message.getSubject()).isEqualTo("testSubject");
    assertThat(message.getAllRecipients()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getFrom()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getContent()).isInstanceOf(Multipart.class);
    assertThat(aos.toString()).isEqualTo("\r\ntestContent");
    assertThat(part.getDataHandler().getContentType()).isEqualTo("text/plain; charset=UTF-8");
}
 
源代码5 项目: vertx-mail-client   文件: MailWithDKIMSignTest.java
@Test
public void testMailSimpleSimpleAttachmentStream(TestContext testContext) {
  System.setProperty("vertx.mail.attachment.cache.file", "true");
  this.testContext = testContext;
  String path = "logo-white-big.png";
  Buffer img = vertx.fileSystem().readFileBlocking(path);
  ReadStream<Buffer> stream = vertx.fileSystem().openBlocking(path, new OpenOptions());
  MailAttachment attachment = MailAttachment.create().setName(path).setStream(stream).setSize(img.length());
  MailMessage message = exampleMessage().setText(TEXT_BODY).setAttachment(attachment);

  DKIMSignOptions dkimOps = new DKIMSignOptions(dkimOptionsBase)
    .setHeaderCanonAlgo(CanonicalizationAlgorithm.SIMPLE).setBodyCanonAlgo(CanonicalizationAlgorithm.SIMPLE);
  testSuccess(dkimMailClient(dkimOps), message, () -> {
    final MimeMultipart multiPart = (MimeMultipart)wiser.getMessages().get(0).getMimeMessage().getContent();
    testContext.assertEquals(2, multiPart.getCount());
    testContext.assertEquals(TEXT_BODY, conv2nl(inputStreamToString(multiPart.getBodyPart(0).getInputStream())));
    testContext.assertTrue(Arrays.equals(img.getBytes(), inputStreamToBytes(multiPart.getBodyPart(1).getInputStream())));
    testDKIMSign(dkimOps, testContext);
  });
}
 
源代码6 项目: Mario   文件: MailServiceTest.java
/**
 * 一个附件的邮件测试
 * 
 * @throws MessagingException
 * @throws InterruptedException
 * @throws IOException
 */
@Test
public void testSendMailFiles() throws MessagingException, InterruptedException, IOException {
    SimpleMailMessage message = buildSimpleMessage();
    String[] files = new String[] { EMAIL_ATTACHMENT };
    mimeMailService.sendMailFiles(message, files);

    greenMail.waitForIncomingEmail(2000, 1);

    MimeMessage[] msgs = greenMail.getReceivedMessages();
    MimeMultipart mimeMultipart = (MimeMultipart) msgs[0].getContent();

    assertEquals(1, msgs.length);
    assertEquals(MAIL_MESSAGE_FROM, msgs[0].getFrom()[0].toString());
    assertEquals(MAIL_MESSAGE_SUBJECT, msgs[0].getSubject());
    assertEquals(2, mimeMultipart.getCount());//multipart个数
    assertTrue(GreenMailUtil.getBody(mimeMultipart.getBodyPart(0)).trim()
            .contains(MAIL_MESSAGE_CONTEXT));
    assertEquals("Hello,i am a attachment.", GreenMailUtil
            .getBody(mimeMultipart.getBodyPart(1)).trim());
}
 
源代码7 项目: flowable-engine   文件: EmailServiceTaskTest.java
@Deployment
public void testTextMailWithFileAttachmentsByPath() throws Exception {
    HashMap<String, Object> vars = new HashMap<String, Object>();
    vars.put("attachmentsBean", new AttachmentsBean());
    runtimeService.startProcessInstanceByKey("textMailWithFileAttachmentsByPath", vars);

    List<WiserMessage> messages = wiser.getMessages();
    assertEquals(1, messages.size());
    WiserMessage message = messages.get(0);
    MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
    File[] files = new AttachmentsBean().getFiles();
    assertEquals(1 + files.length, mm.getCount());
    for (int i = 0; i < files.length; i++) {
        String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
        assertEquals(files[i].getName(), attachmentFileName);
    }
}
 
源代码8 项目: vocefiscal-android   文件: GMailSender.java
public GMailSender() 
{ 
  host = "smtp.gmail.com"; // default smtp server 
  port = "465"; // default smtp port 
  sport = "465"; // default socketfactory port 

  user = ""; // username 
  pass = ""; // password 
  from = ""; // email sent from 
  subject = ""; // email subject 
  body = ""; // email body 

  debuggable = false; // debug mode on or off - default off 
  auth = true; // smtp authentication - default on 

  multipart = new MimeMultipart(); 

  // There is something wrong with MailCap, javamail can not find a handler for the multipart/mixed part, so this bit needs to be added. 
  MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); 
  mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); 
  mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); 
  mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); 
  mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); 
  mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822"); 
  CommandMap.setDefaultCommandMap(mc); 
}
 
源代码9 项目: vertx-mail-client   文件: MailWithDKIMSignTest.java
@Test
public void testMailSimpleSimpleNonFileAttachmentStreamCacheInFileWithLimit(TestContext testContext) {
  System.setProperty("vertx.mail.attachment.cache.file", "true");
  this.testContext = testContext;
  Buffer fakeData = fakeStreamData();
  byte[] fakeDataBytes = fakeData.getBytes();
  ReadStream<Buffer> fakeStream = new FakeReadStream(vertx.getOrCreateContext());
  MailAttachment attachment = MailAttachment.create().setName("FakeStream")
    .setStream(fakeStream)
    .setSize(fakeDataBytes.length);
  MailMessage message = exampleMessage().setText(TEXT_BODY).setAttachment(attachment);

  DKIMSignOptions dkimOps = new DKIMSignOptions(dkimOptionsBase).setBodyLimit(50)
    .setHeaderCanonAlgo(CanonicalizationAlgorithm.SIMPLE).setBodyCanonAlgo(CanonicalizationAlgorithm.SIMPLE);
  testSuccess(dkimMailClient(dkimOps), message, () -> {
    final MimeMultipart multiPart = (MimeMultipart)wiser.getMessages().get(0).getMimeMessage().getContent();
    testContext.assertEquals(2, multiPart.getCount());
    testContext.assertEquals(TEXT_BODY, conv2nl(inputStreamToString(multiPart.getBodyPart(0).getInputStream())));
    testContext.assertTrue(Arrays.equals(fakeDataBytes, inputStreamToBytes(multiPart.getBodyPart(1).getInputStream())));
    testDKIMSign(dkimOps, testContext);
  });
}
 
源代码10 项目: JavaRushTasks   文件: Solution.java
public static void setAttachment(Message message, String filename) throws MessagingException {
    // Create a multipar message
    Multipart multipart = new MimeMultipart();
    BodyPart messageBodyPart = new MimeBodyPart();

    //Set File
    DataSource source = new FileDataSource(filename);
    messageBodyPart.setDataHandler(new DataHandler(source));
    messageBodyPart.setFileName(filename);

    //Add "file part" to multipart
    multipart.addBodyPart(messageBodyPart);

    //Set multipart to message
    message.setContent(multipart);
}
 
源代码11 项目: james-project   文件: MessageAlteringUtils.java
/**
 * Builds the message of the newMail in case it has to be altered.
 */
private MimeMessage alteredMessage() throws MessagingException {
    MimeMessage originalMessage = originalMail.getMessage();
    MimeMessage newMessage = new MimeMessage(Session.getDefaultInstance(System.getProperties(), null));

    // Copy the relevant headers
    copyRelevantHeaders(originalMessage, newMessage);

    String head = new MimeMessageUtils(originalMessage).getMessageHeaders();
    try {
        MimeMultipart multipart = generateMultipartContent(originalMessage, head);

        newMessage.setContent(multipart);
        newMessage.setHeader(RFC2822Headers.CONTENT_TYPE, multipart.getContentType());
        return newMessage;
    } catch (Exception ioe) {
        throw new MessagingException("Unable to create multipart body", ioe);
    }
}
 
源代码12 项目: flowable-engine   文件: EmailSendTaskTest.java
@Deployment
public void testTextMailWithFileAttachments() throws Exception {
    HashMap<String, Object> vars = new HashMap<String, Object>();
    vars.put("attachmentsBean", new AttachmentsBean());
    runtimeService.startProcessInstanceByKey("textMailWithFileAttachments", vars);

    List<WiserMessage> messages = wiser.getMessages();
    assertEquals(1, messages.size());
    WiserMessage message = messages.get(0);
    MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
    File[] files = new AttachmentsBean().getFiles();
    assertEquals(1 + files.length, mm.getCount());
    for (int i = 0; i < files.length; i++) {
        String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
        assertEquals(files[i].getName(), attachmentFileName);
    }
}
 
源代码13 项目: jhipster-online   文件: MailServiceIT.java
@Test
public void testSendMultipartHtmlEmail() throws Exception {
    mailService.sendEmail("[email protected]", "testSubject", "testContent", true, true);
    verify(javaMailSender).send(messageCaptor.capture());
    MimeMessage message = messageCaptor.getValue();
    MimeMultipart mp = (MimeMultipart) message.getContent();
    MimeBodyPart part = (MimeBodyPart) ((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
    ByteArrayOutputStream aos = new ByteArrayOutputStream();
    part.writeTo(aos);
    assertThat(message.getSubject()).isEqualTo("testSubject");
    assertThat(message.getAllRecipients()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getFrom()[0].toString()).isEqualTo("JHipster Online <[email protected]>");
    assertThat(message.getContent()).isInstanceOf(Multipart.class);
    assertThat(aos.toString()).isEqualTo("\r\ntestContent");
    assertThat(part.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
}
 
@Test
public void testSendMultipartHtmlEmail() throws Exception {
    mailService.sendEmail("[email protected]", "testSubject", "testContent", true, true);
    verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
    MimeMessage message = (MimeMessage) messageCaptor.getValue();
    MimeMultipart mp = (MimeMultipart) message.getContent();
    MimeBodyPart part = (MimeBodyPart) ((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
    ByteArrayOutputStream aos = new ByteArrayOutputStream();
    part.writeTo(aos);
    assertThat(message.getSubject()).isEqualTo("testSubject");
    assertThat(message.getAllRecipients()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getFrom()[0].toString()).isEqualTo("[email protected]");
    assertThat(message.getContent()).isInstanceOf(Multipart.class);
    assertThat(aos.toString()).isEqualTo("\r\ntestContent");
    assertThat(part.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
}
 
源代码15 项目: greenmail   文件: GreenMailUtil.java
public static boolean hasNonTextAttachments(Part m) {
    try {
        Object content = m.getContent();
        if (content instanceof MimeMultipart) {
            MimeMultipart mm = (MimeMultipart) content;
            for (int i = 0; i < mm.getCount(); i++) {
                BodyPart p = mm.getBodyPart(i);
                if (hasNonTextAttachments(p)) {
                    return true;
                }
            }
            return false;
        } else {
            return !m.getContentType().trim().toLowerCase().startsWith("text");
        }
    } catch (Exception e) {
        throw new IllegalArgumentException(e);
    }
}
 
源代码16 项目: james-project   文件: Converter7BitTest.java
@Test
void convertTo7BitShouldAlertTextPartHeaders() throws Exception {
    MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromString(
            fileContent("eml/multipart-8bit.eml"));

    testee.convertTo7Bit(mimeMessage);

    BodyPart textPart = ((MimeMultipart) mimeMessage.getContent())
        .getBodyPart(0);

    SoftAssertions.assertSoftly(Throwing.consumer(softly -> {
       assertThat(textPart.getHeader(CONTENT_TRANSFER_ENCODING))
           .containsOnly(QUOTED_PRINTABLE);
       assertThat(textPart.getHeader(X_MIME_AUTOCONVERTED))
           .containsOnly("from 8bit to quoted-printable by Mock Server");
    }));
}
 
源代码17 项目: pentaho-kettle   文件: MailTest.java
private Message createMimeMessage( String specialCharacters, File attachedFile ) throws Exception {
  Session session = Session.getInstance( new Properties() );
  Message message = new MimeMessage( session );

  MimeMultipart multipart = new MimeMultipart();
  MimeBodyPart attachedFileAndContent = new MimeBodyPart();
  attachedFile.deleteOnExit();
  // create a data source
  URLDataSource fds = new URLDataSource( attachedFile.toURI().toURL() );
  // get a data Handler to manipulate this file type;
  attachedFileAndContent.setDataHandler( new DataHandler( fds ) );
  // include the file in the data source
  String tempFileName = attachedFile.getName();
  message.setSubject( specialCharacters );
  attachedFileAndContent.setFileName( tempFileName );
  attachedFileAndContent.setText( specialCharacters );

  multipart.addBodyPart( attachedFileAndContent );
  message.setContent( multipart );

  return message;
}
 
源代码18 项目: webcurator   文件: MailServerImpl.java
public void sendHTML(Mailable email) throws MessagingException {
    Session mailSession = Session.getInstance(this.mailConfig, null);
    MimeMessage message = new MimeMessage(mailSession);
    MimeMultipart multipart = new MimeMultipart("alternative");
    BodyPart bp = new MimeBodyPart();
    bp.setContent(email.getMessage(), "text/plain; charset=UTF-8");
    BodyPart bp2 = new MimeBodyPart();
    bp2.setContent(email.getMessage(), "text/html; charset=UTF-8");
    
    multipart.addBodyPart(bp2);
    multipart.addBodyPart(bp);
    message.setContent(multipart);
    message.setSentDate(new java.util.Date());
    message.setFrom(new InternetAddress(email.getSender()));
    message.setSubject(email.getSubject());
    //FIXME if more than one recipient break it appart before setting the recipient field
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(email.getRecipients()));
    Transport.send(message);
}
 
源代码19 项目: scava   文件: NntpUtil.java
public  static String getArticleBody(NNTPClient client, long articleNumber)
	throws IOException {
	String articleBody = null;
	//We convert the full message into a MIME message for getting exactly the text message clean
	Reader reader = (DotTerminatedMessageReader) client.retrieveArticle(articleNumber);
	if (reader != null) {
		InputStream inputStream = new ByteArrayInputStream(CharStreams.toString(reader).getBytes(Charsets.UTF_8));
		try {
			Session session = Session.getInstance(new Properties());	//For parsing the messages correctly
			MimeMessage message = new MimeMessage(session, inputStream);
			Object contentObject = message.getContent();
			if(!(contentObject instanceof MimeMultipart))
				articleBody = (String)contentObject;
			else
				articleBody = getBodyPart((MimeMultipart) contentObject);
			
		} catch (MessagingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	} else {
		return articleBody;
	}
	return articleBody;
}
 
源代码20 项目: ogham   文件: MultiContentHandler.java
@Override
public void setContent(MimePart message, Multipart multipart, Email email, Content content) throws ContentHandlerException {
	try {
		MultiContent multiContent = (MultiContent) content;
		MimeMultipart mp = new MimeMultipart("alternative");
		for (Content c : multiContent.getContents()) {
			delegate.setContent(message, mp, email, c);
		}
		// add the part
		MimeBodyPart part = new MimeBodyPart();
		part.setContent(mp);
		multipart.addBodyPart(part);
	} catch (MessagingException e) {
		throw new ContentHandlerException("Failed to generate alternative content", content, e);
	}
}
 
源代码21 项目: quarkus   文件: MailerImplTest.java
private String getInlineAttachment(String cid, MimeMultipart multipart) throws IOException, MessagingException {
    for (int i = 0; i < multipart.getCount(); i++) {
        BodyPart bodyPart = multipart.getBodyPart(i);
        if (bodyPart.getContent() instanceof MimeMultipart) {
            for (int j = 0; j < ((MimeMultipart) bodyPart.getContent()).getCount(); j++) {
                BodyPart nested = ((MimeMultipart) bodyPart.getContent()).getBodyPart(j);
                if (nested.getHeader("Content-ID") != null && nested.getHeader("Content-ID")[0].equalsIgnoreCase(cid)) {
                    assertThat(nested.getDisposition()).isEqualTo("inline");
                    assertThat(nested.getContentType()).startsWith(TEXT_CONTENT_TYPE);
                    return read(nested);
                }
            }
        }
    }
    return null;
}
 
源代码22 项目: activiti6-boot2   文件: EmailServiceTaskTest.java
@Deployment
public void testTextMailWithFileAttachments() throws Exception {
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  runtimeService.startProcessInstanceByKey("textMailWithFileAttachments", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  File[] files = new AttachmentsBean().getFiles();
  assertEquals(1 + files.length, mm.getCount());
  for (int i = 0; i < files.length; i++) {
    String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
    assertEquals(files[i].getName(), attachmentFileName);
  }
}
 
源代码23 项目: activiti6-boot2   文件: EmailServiceTaskTest.java
@Deployment
public void testTextMailWithFileAttachmentsByPath() throws Exception {
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  runtimeService.startProcessInstanceByKey("textMailWithFileAttachmentsByPath", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  File[] files = new AttachmentsBean().getFiles();
  assertEquals(1 + files.length, mm.getCount());
  for (int i = 0; i < files.length; i++) {
    String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
    assertEquals(files[i].getName(), attachmentFileName);
  }
}
 
源代码24 项目: flowable-engine   文件: EmailServiceTaskTest.java
@Test
@Deployment
public void testTextMailWithFileAttachmentsByPath() throws Exception {
    HashMap<String, Object> vars = new HashMap<>();
    vars.put("attachmentsBean", new AttachmentsBean());
    runtimeService.startProcessInstanceByKey("textMailWithFileAttachmentsByPath", vars);

    List<WiserMessage> messages = wiser.getMessages();
    assertThat(messages).hasSize(1);
    WiserMessage message = messages.get(0);
    MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
    File[] files = new AttachmentsBean().getFiles();
    assertThat(mm.getCount()).isEqualTo(1 + files.length);
    for (int i = 0; i < files.length; i++) {
        String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
        assertThat(attachmentFileName).isEqualTo(files[i].getName());
    }
}
 
源代码25 项目: activiti6-boot2   文件: EmailSendTaskTest.java
@Deployment
public void testTextMailWithFileAttachmentsByPath() throws Exception {
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  runtimeService.startProcessInstanceByKey("textMailWithFileAttachmentsByPath", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  File[] files = new AttachmentsBean().getFiles();
  assertEquals(1 + files.length, mm.getCount());
  for (int i = 0; i < files.length; i++) {
    String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
    assertEquals(files[i].getName(), attachmentFileName);
  }
}
 
源代码26 项目: activiti6-boot2   文件: EmailServiceTaskTest.java
@Deployment
public void testTextMailWithFileAttachmentsByPath() throws Exception {
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  runtimeService.startProcessInstanceByKey("textMailWithFileAttachmentsByPath", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  File[] files = new AttachmentsBean().getFiles();
  assertEquals(1 + files.length, mm.getCount());
  for (int i = 0; i < files.length; i++) {
    String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
    assertEquals(files[i].getName(), attachmentFileName);
  }
}
 
private static Multipart getMessagePart() throws MessagingException, IOException {
    Multipart multipart = new MimeMultipart();
    BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(getVal("msg.Body"));
    multipart.addBodyPart(messageBodyPart);
    if (getBoolVal("attach.reports")) {
        LOG.info("Attaching Reports as zip");
        multipart.addBodyPart(getReportsBodyPart());
    } else {
        if (getBoolVal("attach.standaloneHtml")) {
            multipart.addBodyPart(getStandaloneHtmlBodyPart());
        }
        if (getBoolVal("attach.console")) {
            multipart.addBodyPart(getConsoleBodyPart());
        }
        if (getBoolVal("attach.screenshots")) {
            multipart.addBodyPart(getScreenShotsBodyPart());
        }
    }
    messageBodyPart.setContent(getVal("msg.Body")
            .concat("\n\n\n")
            .concat(MailComponent.getHTMLBody()), "text/html");
    return multipart;
}
 
源代码28 项目: usergrid   文件: RegistrationIT.java
private Message[] getMessages(String host, String user, String password) throws MessagingException, IOException {

        Session session = Session.getDefaultInstance(new Properties());
        Store store = session.getStore("imap");
        store.connect(host, user, password);

        Folder folder = store.getFolder("inbox");
        folder.open(Folder.READ_ONLY);
        Message[] msgs = folder.getMessages();

        for (Message m : msgs) {
            logger.info("Subject: " + m.getSubject());
            logger.info(
                "Body content 0 " + ((MimeMultipart) m.getContent()).getBodyPart(0).getContent());
            logger.info(
                "Body content 1 " + ((MimeMultipart) m.getContent()).getBodyPart(1).getContent());
        }
        return msgs;
    }
 
源代码29 项目: activiti6-boot2   文件: EmailSendTaskTest.java
@Deployment
public void testTextMailWithFileAttachments() throws Exception {
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  runtimeService.startProcessInstanceByKey("textMailWithFileAttachments", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  File[] files = new AttachmentsBean().getFiles();
  assertEquals(1 + files.length, mm.getCount());
  for (int i = 0; i < files.length; i++) {
    String attachmentFileName = mm.getBodyPart(1 + i).getDataHandler().getName();
    assertEquals(files[i].getName(), attachmentFileName);
  }
}
 
源代码30 项目: activiti6-boot2   文件: EmailSendTaskTest.java
@Deployment
public void testTextMailWithDataSourceAttachment() throws Exception {
  String fileName = "file-name-to-be-displayed";
  String fileContent = "This is the file content";
  HashMap<String, Object> vars = new HashMap<String, Object>();
  vars.put("attachmentsBean", new AttachmentsBean());
  vars.put("fileContent", fileContent);
  vars.put("fileName", fileName);
  runtimeService.startProcessInstanceByKey("textMailWithDataSourceAttachment", vars);

  List<WiserMessage> messages = wiser.getMessages();
  assertEquals(1, messages.size());
  WiserMessage message = messages.get(0);
  MimeMultipart mm = (MimeMultipart) message.getMimeMessage().getContent();
  assertEquals(2, mm.getCount());
  String attachmentFileName = mm.getBodyPart(1).getDataHandler().getName();
  assertEquals(fileName, attachmentFileName);
}
 
 类所在包
 同包方法