Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.0.0
-
None
-
None
Description
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.