use of javax.mail.internet.InternetAddress in project jforum2 by rafaelsteil.
the class Spammer method dispatchMessages.
public boolean dispatchMessages() {
try {
int sendDelay = SystemGlobals.getIntValue(ConfigKeys.MAIL_SMTP_DELAY);
if (SystemGlobals.getBoolValue(ConfigKeys.MAIL_SMTP_AUTH)) {
if (!StringUtils.isEmpty(username) && !StringUtils.isEmpty(password)) {
boolean ssl = SystemGlobals.getBoolValue(ConfigKeys.MAIL_SMTP_SSL);
Transport transport = this.session.getTransport(ssl ? "smtps" : "smtp");
try {
String host = SystemGlobals.getValue(ConfigKeys.MAIL_SMTP_HOST);
transport.connect(host, username, password);
if (transport.isConnected()) {
for (Iterator userIter = this.users.iterator(); userIter.hasNext(); ) {
User user = (User) userIter.next();
if (this.needCustomization) {
this.defineUserMessage(user);
}
Address address = new InternetAddress(user.getEmail());
logger.debug("Sending mail to: " + user.getEmail());
this.message.setRecipient(Message.RecipientType.TO, address);
transport.sendMessage(this.message, new Address[] { address });
if (sendDelay > 0) {
try {
Thread.sleep(sendDelay);
} catch (InterruptedException ie) {
logger.error("Error while Thread.sleep." + ie, ie);
}
}
}
}
} catch (Exception e) {
throw new MailException(e);
} finally {
try {
transport.close();
} catch (Exception e) {
}
}
}
} else {
for (Iterator iter = this.users.iterator(); iter.hasNext(); ) {
User user = (User) iter.next();
if (this.needCustomization) {
this.defineUserMessage(user);
}
Address address = new InternetAddress(user.getEmail());
logger.debug("Sending mail to: " + user.getEmail());
this.message.setRecipient(Message.RecipientType.TO, address);
Transport.send(this.message, new Address[] { address });
if (sendDelay > 0) {
try {
Thread.sleep(sendDelay);
} catch (InterruptedException ie) {
logger.error("Error while Thread.sleep." + ie, ie);
}
}
}
}
} catch (MessagingException e) {
logger.error("Error while dispatching the message." + e, e);
}
return true;
}
use of javax.mail.internet.InternetAddress in project jforum2 by rafaelsteil.
the class Spammer method prepareMessage.
/**
* Prepares the mail message for sending.
*
* @param subject the subject of the email
* @param messageFile the path to the mail message template
* @throws MailException
*/
protected void prepareMessage(String subject, String messageFile) throws MailException {
if (this.messageId != null) {
this.message = new IdentifiableMimeMessage(session);
((IdentifiableMimeMessage) this.message).setMessageId(this.messageId);
} else {
this.message = new MimeMessage(session);
}
this.templateParams.put("forumName", SystemGlobals.getValue(ConfigKeys.FORUM_NAME));
try {
this.message.setSentDate(new Date());
this.message.setFrom(new InternetAddress(SystemGlobals.getValue(ConfigKeys.MAIL_SENDER)));
this.message.setSubject(subject, SystemGlobals.getValue(ConfigKeys.MAIL_CHARSET));
if (this.inReplyTo != null) {
this.message.addHeader("In-Reply-To", this.inReplyTo);
}
this.createTemplate(messageFile);
this.needCustomization = this.isCustomizationNeeded();
// then build the generic text right now
if (!this.needCustomization) {
String text = this.processTemplate();
this.defineMessageText(text);
}
} catch (Exception e) {
throw new MailException(e);
}
}
use of javax.mail.internet.InternetAddress in project spring-framework by spring-projects.
the class MimeMessageHelper method parseAddress.
private InternetAddress parseAddress(String address) throws MessagingException {
InternetAddress[] parsed = InternetAddress.parse(address);
if (parsed.length != 1) {
throw new AddressException("Illegal address", address);
}
InternetAddress raw = parsed[0];
try {
return (getEncoding() != null ? new InternetAddress(raw.getAddress(), raw.getPersonal(), getEncoding()) : raw);
} catch (UnsupportedEncodingException ex) {
throw new MessagingException("Failed to parse embedded personal name to correct encoding", ex);
}
}
use of javax.mail.internet.InternetAddress in project spring-framework by spring-projects.
the class JavaMailSenderTests method javaMailSenderWithMimeMessages.
@Test
public void javaMailSenderWithMimeMessages() throws MessagingException {
MockJavaMailSender sender = new MockJavaMailSender();
sender.setHost("host");
sender.setUsername("username");
sender.setPassword("password");
MimeMessage mimeMessage1 = sender.createMimeMessage();
mimeMessage1.setRecipient(Message.RecipientType.TO, new InternetAddress("he@mail.org"));
MimeMessage mimeMessage2 = sender.createMimeMessage();
mimeMessage2.setRecipient(Message.RecipientType.TO, new InternetAddress("she@mail.org"));
sender.send(mimeMessage1, mimeMessage2);
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());
assertEquals(mimeMessage1, sender.transport.getSentMessage(0));
assertEquals(mimeMessage2, sender.transport.getSentMessage(1));
}
use of javax.mail.internet.InternetAddress in project spring-framework by spring-projects.
the class JavaMailSenderTests method testJavaMailSenderWithMimeMessage.
public void testJavaMailSenderWithMimeMessage() throws MessagingException {
MockJavaMailSender sender = new MockJavaMailSender();
sender.setHost("host");
sender.setUsername("username");
sender.setPassword("password");
MimeMessage mimeMessage = sender.createMimeMessage();
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("you@mail.org"));
sender.send(mimeMessage);
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(mimeMessage, sender.transport.getSentMessage(0));
}
Aggregations