Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-1393

Allow sending emails via TLS



    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.0
    • Fix Version/s: 5.1.0
    • Component/s: None
    • Labels:


      I was trying out email action executor. I've made sure that I'd set all the properties on oozie-site.xml and in the workflow definition too. Please find below the details I set, the stack trace and some of my findings. Any advice on how to resolve this would be really appreciated.

      Details set:
      host = smtp.gmail.com

      port = 587

      both to and from are gmail addresses...

      oozie.email.smtp.auth = true

      oozie.email.smtp.username = same as From address(Gmail ID)

      oozie.email.smtp.password = <password>

      Stack trace:

      130520210251024-oozie-Kira-W@email-node] Error starting action [email-node]. ErrorType [ERROR], ErrorCode [EM007], Message [EM007: Encountered an error while sending the email message over SMTP.]
      org.apache.oozie.action.ActionExecutorException: EM007: Encountered an error while sending the email message over SMTP.
      at org.apache.oozie.action.email.EmailActionExecutor.email(EmailActionExecutor.java:181)
      at org.apache.oozie.action.email.EmailActionExecutor.validateAndMail(EmailActionExecutor.java:110)
      at org.apache.oozie.action.email.EmailActionExecutor.start(EmailActionExecutor.java:70)
      at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:211)
      at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:59)
      at org.apache.oozie.command.XCommand.call(XCommand.java:277)
      at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:326)
      at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:255)
      at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:680)
      Caused by: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. qh4sm1420786pac.8 - gsmtp

      at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
      at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
      at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
      at javax.mail.Transport.send0(Transport.java:169)
      at javax.mail.Transport.send(Transport.java:98)
      at org.apache.oozie.action.email.EmailActionExecutor.email(EmailActionExecutor.java:177)
      ... 11 more


      I was able to develop a standalone class using javax.mail and send emails successfully...The only difference I could see is I'm setting the following property additionally in my standalone test:
      props.put("mail.smtp.starttls.enable", "true");

      If I dont set this property, my standalone example also fails with the same exception as Oozie does.


        1. Screen Shot 2018-06-06 at 9.53.05 AM.png
          198 kB
          Dénes Bodó
        2. Screen Shot 2018-05-22 at 7.35.36 PM.png
          189 kB
          Andras Piros
        3. OOZIE-1393-005.patch
          13 kB
          Dénes Bodó
        4. OOZIE-1393-004.patch
          12 kB
          Dénes Bodó
        5. OOZIE-1393-004.patch
          12 kB
          Andras Piros
        6. OOZIE-1393-003.patch
          9 kB
          Dénes Bodó
        7. OOZIE-1393-002.patch
          9 kB
          Dénes Bodó
        8. OOZIE-1393.patch
          4 kB
          Mahesh Balakrishnan



            • Assignee:
              mbalakrishnan Mahesh Balakrishnan
              kirann Kiran Nagasubramanian
            • Votes:
              0 Vote for this issue
              7 Start watching this issue


              • Created: