Local string &MAIL_CC, &MAIL_TO, &MAIL_BCC, &MAIL_SUBJECT, &MAIL_TITLES, &MAIL_TEXT, &MAIL_FILES, &MAIL_FROM, &REPLYTO, &SENDER;
Local number &MAIL_FLAGS;
&MAIL_FLAGS = 0;
&MAIL_TO = "xxxxx";
&MAIL_CC = "";
&MAIL_BCC = "";
&MAIL_SUBJECT = "Test email";
&MAIL_TEXT = "Sending an email from PeopleCode.";
&MAIL_FILES = "";
&MAIL_TITLES = "";
&MAIL_FROM = "xxxxx";
&MAIL_SEP = ";";
&CONTTYPE = "";
&REPLYTO = "";
&SENDER = "";
&RET = SendMail(&MAIL_FLAGS, &MAIL_TO, &MAIL_CC, &MAIL_BCC, &MAIL_SUBJECT, &MAIL_TEXT, &MAIL_FILES, &MAIL_TITLES, &MAIL_FROM, &MAIL_SEP, &CONTTYPE, &REPLYTO, &SENDER);
App engine fails with the following messages:
78512: 1375322877: PSPAL::Abort: Unrecoverable exception received
78512: 1375322877: PSPAL::Abort: Location: E:\pt853-903-R1-retail\peopletools\src\pspal\exception_winunhandled.cpp:577: PSPAL::UnhandledExceptionFilter::RecoverableExceptionFilter
78512: 1375322877: PSPAL::Abort: Abort diagnostics generation is currently disabled
78512: 1375322877: PSPAL::Abort: Terminating process now.
PeopleTools 8.53.03 - Application Engine
Copyright (c) 1988-2013 Oracle and/or its affiliates.
All Rights Reserved
Message Set Number: 200
Message Number: 0
Message Reason: File: E:\pt85303c-retail\peopletools\src\pssys\genmsg.cppSQL error. Stmt #: 1197 Error Position: 0 Return: 12571 - ORA-12571: TNS:packet writer failure
Failed SQL stmt: SELECT MESSAGE_SEQ FROM PS_MESSAGE_LOG WHERE PROCESS_INSTANCE =:1 AND MESSAGE_SEQ = :2 FOR UPDATE OF PROCESS_INSTANCE (200,0)
Debugging Disabled. Communication failure during send() : WSANOTINITIALISED(10093) Successful WSAStartup not yet performed. (143,53)
Message Set Number: 143
Message Number: 53
Message Reason: Debugging Disabled. Communication failure during send() : WSANOTINITIALISED(10093) Successful WSAStartup not yet performed. (143,53)
Any suggestions ???
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)