Search in sources :

Example 31 with Message

use of javax.mail.Message in project camel by apache.

the class MailSearchTermTest method prepareMailbox.

private void prepareMailbox() throws Exception {
    // connect to mailbox
    Mailbox.clearAll();
    JavaMailSender sender = new DefaultJavaMailSender();
    Store store = sender.getSession().getStore("pop3");
    store.connect("localhost", 25, "bill", "secret");
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);
    folder.expunge();
    // inserts 5 new messages
    Message[] messages = new Message[6];
    messages[0] = new MimeMessage(sender.getSession());
    messages[0].setSubject("Apache Camel rocks");
    messages[0].setText("I like riding the Camel");
    messages[0].setHeader("Message-ID", "0");
    messages[0].setFrom(new InternetAddress("someone@somewhere.com"));
    messages[1] = new MimeMessage(sender.getSession());
    messages[1].setSubject("Order");
    messages[1].setText("Ordering Camel in Action");
    messages[1].setHeader("Message-ID", "1");
    messages[1].setFrom(new InternetAddress("dude@somewhere.com"));
    messages[2] = new MimeMessage(sender.getSession());
    messages[2].setSubject("Order");
    messages[2].setText("Ordering ActiveMQ in Action");
    messages[2].setHeader("Message-ID", "2");
    messages[2].setFrom(new InternetAddress("dude@somewhere.com"));
    messages[3] = new MimeMessage(sender.getSession());
    messages[3].setSubject("Buy pharmacy");
    messages[3].setText("This is spam");
    messages[3].setHeader("Message-ID", "3");
    messages[3].setFrom(new InternetAddress("spam@me.com"));
    messages[4] = new MimeMessage(sender.getSession());
    messages[4].setSubject("Beers tonight?");
    messages[4].setText("We meet at 7pm the usual place");
    messages[4].setHeader("Message-ID", "4");
    messages[4].setFrom(new InternetAddress("barney@simpsons.com"));
    messages[5] = new MimeMessage(sender.getSession());
    messages[5].setSubject("Spambot attack");
    messages[5].setText("I am attaching you");
    messages[5].setHeader("Message-ID", "5");
    messages[5].setFrom(new InternetAddress("spambot@me.com"));
    folder.appendMessages(messages);
    folder.close(true);
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) MimeMessage(javax.mail.internet.MimeMessage) Store(javax.mail.Store) Folder(javax.mail.Folder)

Example 32 with Message

use of javax.mail.Message in project camel by apache.

the class MailSearchTermUriConfigLast24HoursTest method prepareMailbox.

private void prepareMailbox() throws Exception {
    // connect to mailbox
    Mailbox.clearAll();
    JavaMailSender sender = new DefaultJavaMailSender();
    Store store = sender.getSession().getStore("pop3");
    store.connect("localhost", 25, "bill", "secret");
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);
    folder.expunge();
    long twoDaysAgo = new Date().getTime() - 2 * 24 * 60 * 60 * 1000L;
    long twentyHoursAgo = new Date().getTime() - 1 * 20 * 60 * 60 * 1000L;
    long oneHourAgo = new Date().getTime() - 1 * 1 * 60 * 60 * 1000L;
    // inserts 5 new messages
    Message[] messages = new Message[6];
    messages[0] = new MimeMessage(sender.getSession());
    messages[0].setSubject("Apache Camel rocks");
    messages[0].setText("I like riding the Camel");
    messages[0].setHeader("Message-ID", "0");
    messages[0].setFrom(new InternetAddress("someone@somewhere.com"));
    messages[0].setSentDate(new Date(twoDaysAgo));
    messages[1] = new MimeMessage(sender.getSession());
    messages[1].setSubject("Order");
    messages[1].setText("Ordering Camel in Action");
    messages[1].setFrom(new InternetAddress("dude@somewhere.com"));
    messages[1].setHeader("Message-ID", "1");
    messages[1].setSentDate(new Date(twoDaysAgo));
    messages[2] = new MimeMessage(sender.getSession());
    messages[2].setSubject("Order");
    messages[2].setText("Ordering ActiveMQ in Action");
    messages[2].setHeader("Message-ID", "2");
    messages[2].setFrom(new InternetAddress("dude@somewhere.com"));
    messages[2].setSentDate(new Date(twentyHoursAgo));
    messages[3] = new MimeMessage(sender.getSession());
    messages[3].setSubject("Buy pharmacy");
    messages[3].setText("This is spam");
    messages[3].setHeader("Message-ID", "3");
    messages[3].setFrom(new InternetAddress("spam@me.com"));
    messages[3].setSentDate(new Date(twentyHoursAgo));
    messages[4] = new MimeMessage(sender.getSession());
    messages[4].setSubject("Beers tonight?");
    messages[4].setText("We meet at 7pm the usual place");
    messages[4].setHeader("Message-ID", "4");
    messages[4].setFrom(new InternetAddress("barney@simpsons.com"));
    messages[4].setSentDate(new Date(oneHourAgo));
    messages[5] = new MimeMessage(sender.getSession());
    messages[5].setSubject("Spambot attack");
    messages[5].setText("I am attaching you");
    messages[5].setHeader("Message-ID", "5");
    messages[5].setFrom(new InternetAddress("spambot@me.com"));
    messages[5].setSentDate(new Date());
    messages[5].setSentDate(new Date(oneHourAgo));
    folder.appendMessages(messages);
    folder.close(true);
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) MimeMessage(javax.mail.internet.MimeMessage) Store(javax.mail.Store) Folder(javax.mail.Folder) Date(java.util.Date)

Example 33 with Message

use of javax.mail.Message in project camel by apache.

the class MailUsingOwnComponentTest method testUsingOwnMailComponent.

@Test
public void testUsingOwnMailComponent() throws Exception {
    Mailbox.clearAll();
    template.sendBodyAndHeader("mailbox:foo", "Hello Mailbox", "to", "davsclaus@apache.org");
    Mailbox box = Mailbox.get("davsclaus@apache.org");
    Message msg = box.get(0);
    assertEquals("davsclaus@apache.org", msg.getRecipients(Message.RecipientType.TO)[0].toString());
}
Also used : Mailbox(org.jvnet.mock_javamail.Mailbox) Message(javax.mail.Message) Test(org.junit.Test)

Example 34 with Message

use of javax.mail.Message in project camel by apache.

the class MultipleDestinationConsumeTest method testSendAndReceiveMails.

@Test
public void testSendAndReceiveMails() throws Exception {
    Mailbox.clearAll();
    MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
    resultEndpoint.expectedMinimumMessageCount(1);
    MimeMessage message = new MimeMessage(mailSession);
    message.setText(body);
    message.setRecipients(Message.RecipientType.TO, new Address[] { new InternetAddress("james@localhost"), new InternetAddress("bar@localhost") });
    Transport.send(message);
    // lets test the receive worked
    resultEndpoint.assertIsSatisfied(100000);
    Exchange exchange = resultEndpoint.getReceivedExchanges().get(0);
    org.apache.camel.Message in = exchange.getIn();
    assertNotNull("Should have headers", in.getHeaders());
    MailMessage msg = (MailMessage) exchange.getIn();
    Message inMessage = msg != null ? msg.getMessage() : null;
    assertNotNull("In message has no JavaMail message!", inMessage);
    String text = in.getBody(String.class);
    assertEquals("mail body", body, text);
    // need to use iterator as some mail impl returns String[] and others a single String with comma as separator
    // so we let Camel create an iterator so we can use the same code for the test
    Object to = in.getHeader("TO");
    Iterator<String> it = CastUtils.cast(ObjectHelper.createIterator(to));
    int i = 0;
    while (it.hasNext()) {
        if (i == 0) {
            assertEquals("james@localhost", it.next().trim());
        } else {
            assertEquals("bar@localhost", it.next().trim());
        }
        i++;
    }
    Enumeration<Header> iter = CastUtils.cast(inMessage.getAllHeaders());
    while (iter.hasMoreElements()) {
        Header header = iter.nextElement();
        String[] value = message.getHeader(header.getName());
        log.debug("Header: " + header.getName() + " has value: " + ObjectHelper.asString(value));
    }
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Exchange(org.apache.camel.Exchange) Header(javax.mail.Header) MimeMessage(javax.mail.internet.MimeMessage) Test(org.junit.Test)

Example 35 with Message

use of javax.mail.Message in project camel by apache.

the class MailIdempotentRepositoryTest method prepareMailbox.

private void prepareMailbox() throws Exception {
    // connect to mailbox
    Mailbox.clearAll();
    JavaMailSender sender = new DefaultJavaMailSender();
    Store store = sender.getSession().getStore("pop3");
    store.connect("localhost", 25, "jones", "secret");
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);
    folder.expunge();
    // inserts 5 new messages
    Message[] messages = new Message[5];
    for (int i = 0; i < 5; i++) {
        messages[i] = new MimeMessage(sender.getSession());
        messages[i].setText("Message " + i);
        messages[i].setHeader("Message-ID", "myuid-" + i);
    }
    folder.appendMessages(messages);
    folder.close(true);
}
Also used : Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) MimeMessage(javax.mail.internet.MimeMessage) Store(javax.mail.Store) Folder(javax.mail.Folder) MockEndpoint(org.apache.camel.component.mock.MockEndpoint)

Aggregations

Message (javax.mail.Message)149 MimeMessage (javax.mail.internet.MimeMessage)81 MessagingException (javax.mail.MessagingException)53 InternetAddress (javax.mail.internet.InternetAddress)48 Folder (javax.mail.Folder)41 Test (org.junit.Test)40 Session (javax.mail.Session)37 Properties (java.util.Properties)36 Store (javax.mail.Store)28 Date (java.util.Date)19 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)19 MimeMultipart (javax.mail.internet.MimeMultipart)18 Mailbox (org.jvnet.mock_javamail.Mailbox)18 MimeBodyPart (javax.mail.internet.MimeBodyPart)16 PasswordAuthentication (javax.mail.PasswordAuthentication)15 IOException (java.io.IOException)13 ArrayList (java.util.ArrayList)13 Multipart (javax.mail.Multipart)13 Address (javax.mail.Address)11 HashMap (java.util.HashMap)8