Kiran Nagasubramanian created OOZIE-1393:
--------------------------------------------

             Summary: EmailActionExecutor - allow setting additional properties 
for the SMTP client
                 Key: OOZIE-1393
                 URL: https://issues.apache.org/jira/browse/OOZIE-1393
             Project: Oozie
          Issue Type: Improvement
            Reporter: Kiran Nagasubramanian


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

Findings:

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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to