HSLE#37339 E-mail from keuze kunnen configureren
svn path=/Website/trunk/; revision=30248
This commit is contained in:
@@ -62,22 +62,25 @@ if (API.apidata.loglevel)
|
||||
__Log2File(xmlReq.xml, API.APIname + "_IN");
|
||||
|
||||
var Subject = XMLval(xmlReq, "subject");
|
||||
var fromAddr = XMLval(xmlReq, "from");
|
||||
var fromAddr = XMLval(xmlReq, "fromaddr"); // "Returns the address that the sender gave in the MAIL FROM SMTP-command."
|
||||
var from = XMLval(xmlReq, "from"); // "This property returns the content of the From MIME-header of the email."
|
||||
var toAddr = XMLval(xmlReq, "to");
|
||||
var htmlBody = XMLval(xmlReq, "htmlbody");
|
||||
var Body = XMLval(xmlReq, "body");
|
||||
|
||||
__Log("Subject: " + Subject);
|
||||
__Log("From: " + fromAddr);
|
||||
__Log("To: " + toAddr);
|
||||
__Log("Subject: " + Subject);
|
||||
__Log("From: " + fromAddr);
|
||||
__Log("FromAddr: " + from);
|
||||
__Log("To: " + toAddr);
|
||||
__Log("htmlBody: " + htmlBody);
|
||||
__Log("body: " + Body);
|
||||
__Log("body: " + Body);
|
||||
|
||||
var mailuser = toAddr.split("@")[0];
|
||||
|
||||
sql = "SELECT fac_email_setting_action,"
|
||||
+ " fac_email_setting_expire,"
|
||||
+ " fac_email_setting_from,"
|
||||
+ " fac_email_setting_frommode,"
|
||||
+ " fac_email_setting_attachpath"
|
||||
+ " FROM fac_email_setting"
|
||||
+ " WHERE upper(fac_email_setting_user) = upper("+safe.quoted_sql(mailuser)+")";
|
||||
@@ -96,12 +99,16 @@ if (oRs("fac_email_setting_expire").Value != null)
|
||||
abortRejectMail(L("lcl_fac_hmail_expired"), "Te laat, moest voor: " + expire);
|
||||
}
|
||||
}
|
||||
var theFrom = fromAddr; // SMTP communicatie, werkt matig bij forwards
|
||||
if (oRs("fac_email_setting_frommode").Value == 1)
|
||||
theFrom = from; // uit email MIME-header
|
||||
|
||||
var shouldFrom = oRs("fac_email_setting_from").Value;
|
||||
if (shouldFrom)
|
||||
{
|
||||
if (String(shouldFrom).toUpperCase() != String(fromAddr).toUpperCase())
|
||||
if (String(shouldFrom).toUpperCase() != String(theFrom).toUpperCase())
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_wrong_sender"), "Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + fromAddr);
|
||||
abortRejectMail(L("lcl_fac_hmail_wrong_sender"), "Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + theFrom);
|
||||
}
|
||||
}
|
||||
var action = oRs("fac_email_setting_action").Value; // Package aanroep
|
||||
@@ -125,7 +132,7 @@ if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
{
|
||||
var v_body = Body;
|
||||
}
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(fromAddr) + ","
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(theFrom) + ","
|
||||
+ safe.quoted_sql(toAddr) + ","
|
||||
+ safe.quoted_sql(Subject || L("lcl_fac_hmail_no_subject")) + "," // de actions kunnen slecht tegen lege subject
|
||||
+ safe.quoted_sql(v_body, 3990) + "," // HSLE#33588 10 karakters speling
|
||||
@@ -195,7 +202,7 @@ if (result.path)
|
||||
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
|
||||
{
|
||||
// TODO: Misschien ook terugkoppelen aan zender?
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes). Bestand is niet opgeslagen.".format(safefilename, attsize));
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -44,6 +44,13 @@ function fac_email_setting()
|
||||
"label": L("fac_email_setting_from"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"frommode": {
|
||||
"dbs": "fac_email_setting_frommode",
|
||||
"label": L("fac_email_setting_frommode"),
|
||||
"typ": "number",
|
||||
"required": true,
|
||||
"LOV": L("fac_email_setting_frommodeLOV")
|
||||
},
|
||||
"action": {
|
||||
"dbs": "fac_email_setting_action",
|
||||
"label": L("fac_email_setting_action"),
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
function OnAcceptMessage(oClient, oMessage)
|
||||
{
|
||||
var fromAddr = oMessage.FromAddress;
|
||||
// var toAddr = oMessage.Recipients.Item(0).Address; // dit zal alles@.... zijn
|
||||
var from = oMessage.From;
|
||||
// var toAddr = oMessage.Recipients.Item(0).Address; // dit zal catchall@.... zijn
|
||||
var toAddr = oMessage.Recipients.Item(0).OriginalAddress; // heeft geen last van de catchall
|
||||
|
||||
EventLog.write("From: " + fromAddr);
|
||||
EventLog.write("From: " + from);
|
||||
if (fromAddr != from)
|
||||
EventLog.write("FromAddr: " + fromAddr);
|
||||
EventLog.write("To: " + toAddr);
|
||||
|
||||
var domain = toAddr.split("@")[1]; // Bijvoorbeeld xxxx.facilitor.nl. Daar doen we de API-call ook naar toe
|
||||
@@ -16,10 +19,17 @@ function OnAcceptMessage(oClient, oMessage)
|
||||
elementMail = xmlDoc.createElement("mail");
|
||||
// velden uit https://www.hmailserver.com/documentation/v4.4/?page=com_message
|
||||
addtext(xmlDoc, elementMail, "subject", oMessage.Subject);
|
||||
addtext(xmlDoc, elementMail, "from", fromAddr);
|
||||
addtext(xmlDoc, elementMail, "from", from);
|
||||
addtext(xmlDoc, elementMail, "fromaddr", fromAddr);
|
||||
addtext(xmlDoc, elementMail, "to", toAddr);
|
||||
addtext(xmlDoc, elementMail, "body", oMessage.Body);
|
||||
addtext(xmlDoc, elementMail, "htmlbody", oMessage.HTMLBody);
|
||||
// Wat extra velden waar api_hmail (nog) niets mee doet maar mogelijk ooit wel
|
||||
addtext(xmlDoc, elementMail, "CC", oMessage.CC);
|
||||
addtext(xmlDoc, elementMail, "Charset", oMessage.Charset);
|
||||
addtext(xmlDoc, elementMail, "Date", oMessage.Date);
|
||||
addtext(xmlDoc, elementMail, "Size", oMessage.Size); // Kilobyte trouwens
|
||||
|
||||
addtext(xmlDoc, elementMail, "now", new Date()); // For debugging
|
||||
elementAttachments = xmlDoc.createElement("attachments");
|
||||
for (i=0; i < oMessage.Attachments.Count; i++)
|
||||
@@ -53,10 +63,11 @@ function OnAcceptMessage(oClient, oMessage)
|
||||
|
||||
var cfgdata = config[domain];
|
||||
if (!cfgdata)
|
||||
{
|
||||
EventLog.write("ini:" + inifile);
|
||||
Result.Message = "mail domain not configured";
|
||||
Result.Value = 2; // reject
|
||||
{ // Gebeurt op LABS bij uitgaande e-mail van Logcenter
|
||||
EventLog.write("Mail domain '" + domain + "' not configured. Outgoing?");
|
||||
// EventLog.write("ini:" + inifile);
|
||||
// Result.Message = "mail domain not configured";
|
||||
// Result.Value = 2; // reject
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -96,7 +107,7 @@ function OnAcceptMessage(oClient, oMessage)
|
||||
EventLog.write(oAttach.fileName + ' bijlage (' + oAttach.Size + ' bytes) naar ' + safefilename);
|
||||
oAttach.SaveAs(safefilename);
|
||||
}
|
||||
EventLog.write("Klaar....");
|
||||
EventLog.write("----------");
|
||||
}
|
||||
|
||||
function addtext(xmlDoc, elementParent, tag, tekst)
|
||||
|
||||
Reference in New Issue
Block a user