public void sendEmail(final EmailMessage message, final boolean mailCreated, final String operation) { if (mailCreated) { try { message.sendEmail(); logger.info("Sent " + operation); this.commonMetrics.markSendEmailSuccess(); } catch (final Exception e) { logger.error("Failed to send " + operation, e); if (!(e instanceof AddressException)) { this.commonMetrics.markSendEmailFail(); } } } }
@Test public void testSendEmailToInvalidAddress() throws Exception { doThrow(AddressException.class).when(this.message).sendEmail(); final Flow flow = this.project.getFlow("jobe"); flow.addFailureEmails(this.receiveAddrList); final ExecutableFlow exFlow = new ExecutableFlow(this.project, flow); final CommonMetrics commonMetrics = mock(CommonMetrics.class); final Emailer emailer = new Emailer(this.props, commonMetrics, this.messageCreator, this.executorLoader); emailer.alertOnError(exFlow); verify(commonMetrics, never()).markSendEmailFail(); } }
@Test public void testSendEmail() throws Exception { this.em.setTLS("true"); this.em.addToAddress(this.toAddr); this.em.setFromAddress(this.sender); this.em.setSubject("azkaban test email"); this.em.setBody("azkaban test email"); this.em.sendEmail(); verify(this.mimeMessage).addRecipient(RecipientType.TO, this.addresses[0]); verify(this.mailSender).sendMessage(this.mimeMessage, this.addresses); }
public void sendEmail(final EmailMessage message, final boolean mailCreated, final String operation) { if (mailCreated) { try { message.sendEmail(); logger.info("Sent " + operation); this.commonMetrics.markSendEmailSuccess(); } catch (final Exception e) { logger.error("Failed to send " + operation, e); if (!(e instanceof AddressException)) { this.commonMetrics.markSendEmailFail(); } } } }
@Override public void doAction() throws Exception { EmailMessage email = mailer.prepareEmailMessage(subject, mimetype, emailList); email.setBody(message); email.sendEmail(); }
public void sendSuccessEmail(ExecutableFlow flow) { EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword); message.setFromAddress(mailSender); ExecutionOptions option = flow.getExecutionOptions(); MailCreator mailCreator = DefaultMailCreator.getCreator(option.getMailCreator()); logger.debug("ExecutorMailer using mail creator:" + mailCreator.getClass().getCanonicalName()); boolean mailCreated = mailCreator.createSuccessEmail(flow, message, azkabanName, clientHostname, clientPortNumber); if (mailCreated && !testMode) { try { message.sendEmail(); } catch (MessagingException e) { logger.error("Email message send failed", e); } } }
public void sendFirstErrorMessage(ExecutableFlow flow) { EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword); message.setFromAddress(mailSender); ExecutionOptions option = flow.getExecutionOptions(); MailCreator mailCreator = DefaultMailCreator.getCreator(option.getMailCreator()); logger.debug("ExecutorMailer using mail creator:" + mailCreator.getClass().getCanonicalName()); boolean mailCreated = mailCreator.createFirstErrorMessage(flow, message, azkabanName, clientHostname, clientPortNumber); if (mailCreated && !testMode) { try { message.sendEmail(); } catch (MessagingException e) { logger.error("Email message send failed", e); } } }
public void sendErrorEmail(ExecutableFlow flow, String... extraReasons) { EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword); message.setFromAddress(mailSender); ExecutionOptions option = flow.getExecutionOptions(); MailCreator mailCreator = DefaultMailCreator.getCreator(option.getMailCreator()); logger.debug("ExecutorMailer using mail creator:" + mailCreator.getClass().getCanonicalName()); boolean mailCreated = mailCreator.createErrorEmail(flow, message, azkabanName, clientHostname, clientPortNumber, extraReasons); if (mailCreated && !testMode) { try { message.sendEmail(); } catch (MessagingException e) { logger.error("Email message send failed", e); } } }
@SuppressWarnings("unchecked") private void sendSlaAlertEmail(SlaOption slaOption, String slaMessage) { String subject = "Sla Violation Alert on " + getAzkabanName(); String body = slaMessage; List<String> emailList = (List<String>) slaOption.getInfo().get(SlaOption.INFO_EMAIL_LIST); if (emailList != null && !emailList.isEmpty()) { EmailMessage message = super.createEmailMessage( subject, "text/html", emailList); message.setBody(body); if (!testMode) { try { message.sendEmail(); } catch (MessagingException e) { logger.error("Email message send failed" , e); } } } }