Refine search
/** * 邮件消息通知, * 接收者在spring.mail.sendto中指定 * * @param subject 邮件标题 * @param content 邮件内容 */ @Async public void notifyMail(String subject, String content) { if (mailSender == null) return; SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(sendFrom); message.setTo(sendTo); message.setSubject(subject); message.setText(content); mailSender.send(message); }
@Test public void testSimpleMessageCopyCtor() { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("me@mail.org"); message.setTo("you@mail.org"); SimpleMailMessage messageCopy = new SimpleMailMessage(message); assertEquals("me@mail.org", messageCopy.getFrom()); assertEquals("you@mail.org", messageCopy.getTo()[0]); message.setReplyTo("reply@mail.org"); message.setCc(new String[]{"he@mail.org", "she@mail.org"}); message.setBcc(new String[]{"us@mail.org", "them@mail.org"}); Date sentDate = new Date(); message.setSentDate(sentDate); message.setSubject("my subject"); message.setText("my text"); assertEquals("me@mail.org", message.getFrom()); assertEquals("reply@mail.org", message.getReplyTo()); assertEquals("you@mail.org", message.getTo()[0]); List<String> ccs = Arrays.asList(message.getCc()); assertTrue(ccs.contains("he@mail.org")); assertTrue(ccs.contains("she@mail.org")); List<String> bccs = Arrays.asList(message.getBcc()); assertTrue(bccs.contains("us@mail.org")); assertTrue(bccs.contains("them@mail.org")); assertEquals(sentDate, message.getSentDate()); assertEquals("my subject", message.getSubject()); assertEquals("my text", message.getText());
/** * Copy constructor for creating a new {@code SimpleMailMessage} from the state * of an existing {@code SimpleMailMessage} instance. */ public SimpleMailMessage(SimpleMailMessage original) { Assert.notNull(original, "'original' message argument must not be null"); this.from = original.getFrom(); this.replyTo = original.getReplyTo(); this.to = copyOrNull(original.getTo()); this.cc = copyOrNull(original.getCc()); this.bcc = copyOrNull(original.getBcc()); this.sentDate = original.getSentDate(); this.subject = original.getSubject(); this.text = original.getText(); }
@Test public void testDeepCopyOfStringArrayTypedFieldsOnCopyCtor() throws Exception { SimpleMailMessage original = new SimpleMailMessage(); original.setTo(new String[]{"fiona@mail.org", "apple@mail.org"}); original.setCc(new String[]{"he@mail.org", "she@mail.org"}); original.setBcc(new String[]{"us@mail.org", "them@mail.org"}); SimpleMailMessage copy = new SimpleMailMessage(original); original.getTo()[0] = "mmm@mmm.org"; original.getCc()[0] = "mmm@mmm.org"; original.getBcc()[0] = "mmm@mmm.org"; assertEquals("fiona@mail.org", copy.getTo()[0]); assertEquals("he@mail.org", copy.getCc()[0]); assertEquals("us@mail.org", copy.getBcc()[0]); }
/** * Tests that two equal SimpleMailMessages have equal hash codes. */ @Test public final void testHashCode() { SimpleMailMessage message1 = new SimpleMailMessage(); message1.setFrom("from@somewhere"); message1.setReplyTo("replyTo@somewhere"); message1.setTo("to@somewhere"); message1.setCc("cc@somewhere"); message1.setBcc("bcc@somewhere"); message1.setSentDate(new Date()); message1.setSubject("subject"); message1.setText("text"); // Copy the message SimpleMailMessage message2 = new SimpleMailMessage(message1); assertEquals(message1, message2); assertEquals(message1.hashCode(), message2.hashCode()); }
@Test public void failedSimpleMessage() throws MessagingException { MockJavaMailSender sender = new MockJavaMailSender(); sender.setHost("host"); sender.setUsername("username"); sender.setPassword("password"); SimpleMailMessage simpleMessage1 = new SimpleMailMessage(); simpleMessage1.setTo("he@mail.org"); simpleMessage1.setSubject("fail"); SimpleMailMessage simpleMessage2 = new SimpleMailMessage(); simpleMessage2.setTo("she@mail.org"); try { sender.send(simpleMessage1, simpleMessage2); } catch (MailSendException ex) { ex.printStackTrace(); assertEquals("host", sender.transport.getConnectedHost()); assertEquals("username", sender.transport.getConnectedUsername()); assertEquals("password", sender.transport.getConnectedPassword()); assertTrue(sender.transport.isCloseCalled()); assertEquals(1, sender.transport.getSentMessages().size()); assertEquals(new InternetAddress("she@mail.org"), sender.transport.getSentMessage(0).getAllRecipients()[0]); assertEquals(1, ex.getFailedMessages().size()); assertEquals(simpleMessage1, ex.getFailedMessages().keySet().iterator().next()); Object subEx = ex.getFailedMessages().values().iterator().next(); assertTrue(subEx instanceof MessagingException); assertEquals("failed", ((MessagingException) subEx).getMessage()); } }
@Configuration public class MailConfig { @Value("${email.host}") private String host; @Value("${email.from}") private String from; @Value("${email.subject}") private String subject; @Bean public JavaMailSender javaMailService() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost(host); return javaMailSender; } @Bean public SimpleMailMessage simpleMailMessage() { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setFrom(from); simpleMailMessage.setSubject(subject); return simpleMailMessage; } }
MailSender mailSender = new JavaMailSenderImpl(); SimpleMailMessage message = new SimpleMailMessage();
@Test public void testSend() throws Exception { SimpleMailMessage foo = new SimpleMailMessage(); SimpleMailMessage bar = new SimpleMailMessage(); SimpleMailMessage[] items = new SimpleMailMessage[] { foo, bar }; writer.write(Arrays.asList(items)); // Spring 4.1 changed the send method to be vargs instead of an array if(ReflectionUtils.findMethod(SimpleMailMessage.class, "send", SimpleMailMessage[].class) != null) { verify(mailSender).send(aryEq(items)); } else { verify(mailSender).send(items); } }
@Override public void sendMail(Member member) { SimpleMailMessage message = new SimpleMailMessage(templateMailMessage); message.setTo(member.getEmail()); try { mailSender.send(message); } catch (MailException ex) { ex.printStackTrace(); } } }
@Slf4j public class EmailSenderExample { private MailSender mailSender; private SimpleMailMessage templateMessage; public void sendMail() { log.info("Sending email..."); // Create a thread-safe "copy" of the template message and customize it. SimpleMailMessage msg = new SimpleMailMessage(templateMessage); msg.setTo("flynn@encom.com"); msg.setText("Greetings, programs!"); try { mailSender.send(msg); } catch (MailException ex) { log.warn("Email sending failed", ex); } } }
@Test public void javaMailSenderWithSimpleMessages() throws MessagingException { MockJavaMailSender sender = new MockJavaMailSender(); sender.setHost("host"); sender.setUsername("username"); sender.setPassword("password"); SimpleMailMessage simpleMessage1 = new SimpleMailMessage(); simpleMessage1.setTo("he@mail.org"); SimpleMailMessage simpleMessage2 = new SimpleMailMessage(); simpleMessage2.setTo("she@mail.org"); sender.send(simpleMessage1, simpleMessage2); assertEquals("host", sender.transport.getConnectedHost()); assertEquals("username", sender.transport.getConnectedUsername()); assertEquals("password", sender.transport.getConnectedPassword()); assertTrue(sender.transport.isCloseCalled()); assertEquals(2, sender.transport.getSentMessages().size()); MimeMessage sentMessage1 = sender.transport.getSentMessage(0); List<Address> tos1 = Arrays.asList(sentMessage1.getRecipients(Message.RecipientType.TO)); assertEquals(1, tos1.size()); assertEquals("he@mail.org", ((InternetAddress) tos1.get(0)).getAddress()); MimeMessage sentMessage2 = sender.transport.getSentMessage(1); List<Address> tos2 = Arrays.asList(sentMessage2.getRecipients(Message.RecipientType.TO)); assertEquals(1, tos2.size()); assertEquals("she@mail.org", ((InternetAddress) tos2.get(0)).getAddress()); }
@Test public void javaMailSenderWithParseExceptionOnSimpleMessage() { MockJavaMailSender sender = new MockJavaMailSender(); SimpleMailMessage simpleMessage = new SimpleMailMessage(); simpleMessage.setFrom(""); try { sender.send(simpleMessage); } catch (MailParseException ex) { // expected assertTrue(ex.getCause() instanceof AddressException); } }
private void sendUserEmail(final User user, final String template, final String url, final String subject) { message.setTo(user.getFullName() + "<" + user.getEmail() + ">"); message.setSubject(subject); final Map<String, Serializable> model = new HashMap<String, Serializable>(); model.put("user", user); model.put("applicationURL", url); mailEngine.sendMessage(message, template, model); }
@Test(expected = IllegalArgumentException.class) public void testCopyToChokesOnNullTargetMessage() throws Exception { new SimpleMailMessage().copyTo(null); }
@Override public <T> boolean publish(T report) { logger.debug("Sending report by email..."); boolean retVal = false; try { String message = (String) report; mailMessage.setText(message); mailSender.send(mailMessage); logger.debug("Email sent..."); retVal = true; } catch (Exception e) { logger.error("Can't send email... " + e.getMessage(), e); } return retVal; }
private SendEmailRequest prepareMessage(SimpleMailMessage simpleMailMessage) { Destination destination = new Destination(); destination.withToAddresses(simpleMailMessage.getTo()); if (simpleMailMessage.getCc() != null) { destination.withCcAddresses(simpleMailMessage.getCc()); } if (simpleMailMessage.getBcc() != null) { destination.withBccAddresses(simpleMailMessage.getBcc()); } Content subject = new Content(simpleMailMessage.getSubject()); Body body = new Body(new Content(simpleMailMessage.getText())); SendEmailRequest emailRequest = new SendEmailRequest(simpleMailMessage.getFrom(), destination, new Message(subject, body)); if (StringUtils.hasText(simpleMailMessage.getReplyTo())) { emailRequest.withReplyToAddresses(simpleMailMessage.getReplyTo()); } return emailRequest; } }
@Override public void send(SimpleMailMessage msg) throws MailException { log.info("MOCK: sending mail to " + msg.getTo() + ", subject: " + msg.getSubject()); log.info("MOCK: mail body: " + msg.getText()); }
public void sendConfirmationMail(MailToken mailToken, Locale inLocale){ SimpleMailMessage mailMessage = createSimpleMail(mailToken.getEmail(), subject); mailMessage.setText(mailTextBuilder.createConfirmationTextWithToken(mailToken.getJoinedWebToken())); send(mailMessage); }
@Override public void send(SimpleMailMessage msg) throws MailException { // Write the message to the console System.out.println("MockMailSender: mock email message start === "); String to = ""; for (String addr : msg.getTo()) { if (to.length() > 0) { to+=", "; } to += addr; } System.out.println("To: "+to); System.out.println("From: "+msg.getFrom()); System.out.println("Subject: "+msg.getSubject()); System.out.println("Contents: "+msg.getText()); System.out.println("MockMailSender: mock email message end === "); }