use of javax.mail.MessagingException in project jforum2 by rafaelsteil.
the class POPMessage method extractMessageContents.
private void extractMessageContents(Message m) throws MessagingException {
Part messagePart = m;
if (this.message instanceof Multipart) {
messagePart = ((Multipart) this.message).getBodyPart(0);
}
if (contentType.startsWith("text/html") || contentType.startsWith("text/plain")) {
InputStream is = null;
BufferedReader reader = null;
try {
is = messagePart.getInputStream();
is.reset();
reader = new BufferedReader(new InputStreamReader(is));
StringBuffer sb = new StringBuffer(512);
int c = 0;
char[] ch = new char[2048];
while ((c = reader.read(ch)) != -1) {
sb.append(ch, 0, c);
}
this.messageContents = sb.toString();
} catch (IOException e) {
throw new MailException(e);
} finally {
if (reader != null) {
try {
reader.close();
} catch (Exception e) {
}
}
if (is != null) {
try {
is.close();
} catch (Exception e) {
}
}
}
}
}
use of javax.mail.MessagingException 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.MessagingException in project spring-framework by spring-projects.
the class JavaMailSenderImpl method send.
@Override
public void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException {
try {
List<MimeMessage> mimeMessages = new ArrayList<>(mimeMessagePreparators.length);
for (MimeMessagePreparator preparator : mimeMessagePreparators) {
MimeMessage mimeMessage = createMimeMessage();
preparator.prepare(mimeMessage);
mimeMessages.add(mimeMessage);
}
send(mimeMessages.toArray(new MimeMessage[mimeMessages.size()]));
} catch (MailException ex) {
throw ex;
} catch (MessagingException ex) {
throw new MailParseException(ex);
} catch (Exception ex) {
throw new MailPreparationException(ex);
}
}
use of javax.mail.MessagingException 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.MessagingException in project spring-boot by spring-projects.
the class MailHealthIndicatorTests method smtpIsDown.
@Test
public void smtpIsDown() throws MessagingException {
willThrow(new MessagingException("A test exception")).given(this.mailSender).testConnection();
Health health = this.indicator.health();
assertThat(health.getStatus()).isEqualTo(Status.DOWN);
assertThat(health.getDetails().get("location")).isEqualTo("smtp.acme.org:25");
Object errorMessage = health.getDetails().get("error");
assertThat(errorMessage).isNotNull();
assertThat(errorMessage.toString().contains("A test exception")).isTrue();
}
Aggregations