Thanks for the reply Nicolas.
The same code works fine in PeopleCode FIELD change event.
What could be the reason ??
Assuming you're running your App Engine through Process Scheduler, you need to make sure the Process Scheduler is configured for SMTP. FieldChange PeopleCode will run in the App Server, and it is possible that SMTP is configured on your App Server but not on your Process Scheduler.
Also, you should consider using the MCFOutboundEmail APIs instead of the SendMail function. SendMail is deprecated as of PT8.52, Check the PeopleCode API Reference--Mail Classes for details. There are also several Oracle Support notes that are helpful, including
E-WF: SendMail() vs MCFOutBoundEmail() Emailing Functions, with Sample MCFOutBoundEmail Code Example. (Doc ID 1087289.1)