use of javax.mail.internet.InternetAddress 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);
}
use of javax.mail.internet.InternetAddress 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));
}
}
use of javax.mail.internet.InternetAddress in project camel by apache.
the class MailMessageTest method testMailMessageHandlesSingleHeader.
@Test
public void testMailMessageHandlesSingleHeader() throws Exception {
mimeMessage.setRecipients(Message.RecipientType.TO, new Address[] { new InternetAddress("frank@localhost") });
Exchange exchange = endpoint.createExchange(mimeMessage);
MailMessage in = (MailMessage) exchange.getIn();
assertNotNull(in);
Object header = in.getHeader("TO");
String value = assertIsInstanceOf(String.class, header);
assertEquals("value", "frank@localhost", value);
assertEquals("body", body, in.getBody());
}
use of javax.mail.internet.InternetAddress in project remusic by aa112901.
the class CommonUtils method sendTextMail.
/**
* 以文本格式发送邮件
* @param title 待发送的邮件的信息
*/
public static boolean sendTextMail(String title, String content) {
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props, null);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.163.com", 25, "remusic_log@163.com", "remusiclog1");
Message mailMessage = new SMTPMessage(session);
Address from = new InternetAddress("remusic_log@163.com");
mailMessage.setFrom(from);
Address to = new InternetAddress("remusic_log@163.com");
mailMessage.setRecipient(Message.RecipientType.TO, to);
mailMessage.setSubject(title);
mailMessage.setSentDate(new Date());
mailMessage.setText(content);
transport.sendMessage(mailMessage, mailMessage.getAllRecipients());
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
use of javax.mail.internet.InternetAddress in project javaee7-samples by javaee-samples.
the class AnnotatedEmailServlet method processRequest.
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Sending email using @MailSessionDefinition</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Sending email using @MailSessionDefinition</h1>");
try {
out.println("Sending message from \"" + creds.getFrom() + "\" to \"" + creds.getTo() + "\"...<br>");
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(creds.getFrom()));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(creds.getTo()));
message.setSubject("Sending message using Annotated JavaMail " + Calendar.getInstance().getTime());
message.setText("Java EE 7 is cool!");
Transport t = session.getTransport();
t.connect(creds.getFrom(), creds.getPassword());
t.sendMessage(message, message.getAllRecipients());
out.println("message sent!");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
out.println("</body>");
out.println("</html>");
}
}
Aggregations