FSN#39138 Ontvangen xml berichten via gen_import aan API aanbieden
svn path=/Website/trunk/; revision=41535
This commit is contained in:
@@ -116,13 +116,22 @@ if (shouldFrom)
|
||||
}
|
||||
var action = oRs("fac_email_setting_action").Value; // Package aanroep
|
||||
var path = oRs("fac_email_setting_attachpath").Value;
|
||||
var isUrl = false;
|
||||
if (path && path.substr(0, 1) == "*") // Bijvoorbeeld '*flexfilespath' or '*fg_dwf_path_concept'
|
||||
{
|
||||
path = S(path.substr(1)) + "/";
|
||||
}
|
||||
if (path && (path.substr(0,5) == "http:" || path.substr(0,6) == "https:"))
|
||||
{
|
||||
isUrl = true;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var result = { success: true, path: path, attachments: [] };
|
||||
var result = { success: true
|
||||
, path: path
|
||||
, attachments: []
|
||||
, tempfolder: Server.MapPath("../trunk_data/temp")
|
||||
};
|
||||
|
||||
var psession_id = Session.SessionID;
|
||||
// verwijder entries in de FAC_RESULT table zodat de action nieuwe resultaten kan schrijven
|
||||
@@ -185,8 +194,12 @@ if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
result.maillog = "Verder geen e-mail action gedefinieerd";
|
||||
|
||||
{
|
||||
if (isUrl)
|
||||
result.maillog = "Bijlagen worden verder verwerkt via url";
|
||||
else
|
||||
result.maillog = "Verder geen e-mail action gedefinieerd";
|
||||
}
|
||||
__Log(result.maillog);
|
||||
|
||||
// opruimen
|
||||
@@ -217,6 +230,14 @@ if (result.path)
|
||||
{
|
||||
__Log("Ongewenste extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
|
||||
}
|
||||
else if (isUrl)
|
||||
{
|
||||
__Log('{0} bijlage ({1} bytes) verwerken met {2}'.format(safefilename, attsize, result.path));
|
||||
result.attachments.push ({ sequence: i,
|
||||
safefilename: safefilename,
|
||||
safeurl: result.path
|
||||
})
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log('{0} bijlage ({1} bytes) mag naar {2}'.format(safefilename, attsize, result.path));
|
||||
|
||||
@@ -16,7 +16,7 @@ function OnAcceptMessage(oClient, oMessage)
|
||||
Result.Value = 0;
|
||||
EventLog.write("=============================");
|
||||
// Er kunnen meerdere Recipients zijn en zelfs meerdere geldige
|
||||
// Maar pas op: als ze allemaal terugvallen op catchall telt het slechts als <EFBFBD><EFBFBD>n!!!
|
||||
// Maar pas op: als ze allemaal terugvallen op catchall telt het slechts als ꨮ!!!
|
||||
// Daarom moet je, als je dit wilt ondersteunen, voor alle adressen toch een eigen
|
||||
// account aanmaken in hMailserver!
|
||||
for (i=0; i < oMessage.Recipients.Count; i++)
|
||||
@@ -30,7 +30,7 @@ function OnAcceptMessage(oClient, oMessage)
|
||||
Result.Value = 0;
|
||||
}
|
||||
|
||||
// Verwerk <EFBFBD><EFBFBD>n bericht
|
||||
// Verwerk ꨮ bericht
|
||||
function OnAcceptMessageTo(oClient, oMessage, RecipientNr)
|
||||
{
|
||||
var i;
|
||||
@@ -136,11 +136,56 @@ function OnAcceptMessageTo(oClient, oMessage, RecipientNr)
|
||||
// api_hmail.asp heeft bepaald wat veilige extensies zijn en waar ze naar toe moeten
|
||||
for (i = 0; i < data.attachments.length; i++)
|
||||
{
|
||||
var sequence = data.attachments[i].sequence; // de onveilige zijn er uit gestript, daarom niet per se i==sequence
|
||||
var safefilename = data.attachments[i].safefilename;
|
||||
var oAttach = oMessage.Attachments.Item(sequence);
|
||||
EventLog.write(oAttach.fileName + ' bijlage (' + oAttach.Size + ' bytes) naar ' + safefilename);
|
||||
oAttach.SaveAs(safefilename);
|
||||
if (data.attachments[i].safeurl.length > 0)
|
||||
{
|
||||
var sequence = data.attachments[i].sequence; // de onveilige zijn er uit gestript, daarom niet per se i==sequence
|
||||
var safefilename = data.attachments[i].safefilename;
|
||||
var safeurl = data.attachments[i].safeurl;
|
||||
var tempfile = data.tempfolder + "\\" + safefilename;
|
||||
|
||||
EventLog.write("bijlage tijdelijk naar " + tempfile);
|
||||
var oAttach = oMessage.Attachments.Item(sequence);
|
||||
oAttach.SaveAs(tempfile);
|
||||
|
||||
var objStream = new ActiveXObject("ADODB.Stream");
|
||||
objStream.Open();
|
||||
objStream.Type = 1; // adTypeBinary
|
||||
objStream.LoadFromFile(tempfile);
|
||||
|
||||
EventLog.write("POSTing to:"+safeurl);
|
||||
var http_request = new ActiveXObject("WinHTTP.WinHTTPRequest.5.1");
|
||||
http_request.open("POST", safeurl);
|
||||
http_request.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
|
||||
http_request.send(objStream);
|
||||
|
||||
objStream.close();
|
||||
var objFso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
objFso.DeleteFile(tempfile);
|
||||
EventLog.write("bijlage weer verwijderd");
|
||||
|
||||
if (http_request.status != 200)
|
||||
{
|
||||
EventLog.write("http_request failed");
|
||||
EventLog.write(http_request.status);
|
||||
EventLog.write(http_request.ResponseText);
|
||||
Result.Message = "mail processing error";
|
||||
Result.Value = 2; // reject
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
EventLog.write("response = " + http_request.responseText);
|
||||
}
|
||||
EventLog.write("bijlage " + safefilename + " (" + oAttach.Size + " bytes) naar " + safeurl);
|
||||
}
|
||||
else
|
||||
{
|
||||
var sequence = data.attachments[i].sequence; // de onveilige zijn er uit gestript, daarom niet per se i==sequence
|
||||
var safefilename = data.attachments[i].safefilename;
|
||||
var oAttach = oMessage.Attachments.Item(sequence);
|
||||
EventLog.write(oAttach.fileName + ' bijlage (' + oAttach.Size + ' bytes) naar ' + safefilename);
|
||||
oAttach.SaveAs(safefilename);
|
||||
}
|
||||
}
|
||||
EventLog.write("E-mail accepted and processed");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user