SCOPE
elink.dll
ISSUE DESCRIPTION
The elink SOAP API _SendExternalMail() function (in elink_SOAPProxy.js) does not work correctly because it fails to providde a valid array of fields to update. Note that I invoke it through the wrapper LinkSession class). I have revised the function accordingly, and this revised implementation appears to work correctly:
function _SendExternalMail(sendFrom, sendTo, sendCc, subject, body_text, target, IDLinked) {
//alert(‘send external mail’);
var contextID = _BeginEdit(targets.tgMAIL, 0)
var names = new Array;
var values = new Array;
names.push(“KIND”);
values.push(4);
names.push(“TOLIST”);
values.push(sendTo);
names.push(“CCLIST”);
values.push(sendCc);
names.push(“MAILFROM”);
values.push(sendFrom);
names.push(“SUBJECT”);
values.push(subject);
names.push(“MAILBODY”);
values.push(body_text);
if (target != 0)
{
names.push(“IDTABLE”);
values.push(eval(‘targets.revtg’ +target));
names.push(“IDLINKED”);
values.push(“MAILBODY”);
}
_UpdateFields2(contextID, 0, names, values);
//_UpdateFields2(contextID, 0, (“KIND”, “TOLIST”, “CCLIST”, “SUBJECT”, “MAILBODY”), (4, sendTo, sendCc, subject, body));
//if (target != 0) {
// _UpdateFields2(contextID, 0, (“IDTABLE”, “IDLINKED”), (eval(‘targets.revtg’ +target), IDLinked))
//}
_CommitChanges(contextID, false)
_EndEdit(contextID)
}
//alert(‘send external mail’);
var contextID = _BeginEdit(targets.tgMAIL, 0)
var names = new Array;
var values = new Array;
names.push(“KIND”);
values.push(4);
names.push(“TOLIST”);
values.push(sendTo);
names.push(“CCLIST”);
values.push(sendCc);
names.push(“MAILFROM”);
values.push(sendFrom);
names.push(“SUBJECT”);
values.push(subject);
names.push(“MAILBODY”);
values.push(body_text);
if (target != 0)
{
names.push(“IDTABLE”);
values.push(eval(‘targets.revtg’ +target));
names.push(“IDLINKED”);
values.push(“MAILBODY”);
}
_UpdateFields2(contextID, 0, names, values);
//_UpdateFields2(contextID, 0, (“KIND”, “TOLIST”, “CCLIST”, “SUBJECT”, “MAILBODY”), (4, sendTo, sendCc, subject, body));
//if (target != 0) {
// _UpdateFields2(contextID, 0, (“IDTABLE”, “IDLINKED”), (eval(‘targets.revtg’ +target), IDLinked))
//}
_CommitChanges(contextID, false)
_EndEdit(contextID)
}
I believe the function _SendMailToUsers() will suffer from the same problem.




