VNOG#87525 Vraag over CC/BCC in Facilitor-mails
svn path=/Website/trunk/; revision=70842
This commit is contained in:
@@ -226,9 +226,30 @@ function bestandenlijstALL(pmodule, pniveau, pkey, pnoWorkflow)
|
||||
if (!await validateForm("u2"))
|
||||
return false;
|
||||
|
||||
if (!new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig").test($("#emails").val()))
|
||||
function isValidMail()
|
||||
{
|
||||
FcltMgr.alert(L("lcl_invalid_email"));
|
||||
var v_mail_arr = [""].concat( (<%=S("email_cc_allowed")%> == 1) ? ["cc","bcc"] : [] );
|
||||
var v_errmsg = null;
|
||||
for (var i=0; i<v_mail_arr.length; i++)
|
||||
{
|
||||
var v_mail = "emails" + (v_mail_arr[i] != "" ? "_" : "") + v_mail_arr[i];
|
||||
if ($("#" + v_mail).val())
|
||||
{
|
||||
if (!new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig").test($("#" + v_mail).val()))
|
||||
{
|
||||
v_errmsg = v_mail_arr[i];
|
||||
return v_errmsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
return v_errmsg;
|
||||
}
|
||||
|
||||
var emailErr = isValidMail();
|
||||
if (typeof emailErr == "string" )
|
||||
{
|
||||
emailErr = (emailErr ? emailErr.toUpperCase() + " " : "") + L("lcl_invalid_email");
|
||||
FcltMgr.alert(emailErr);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -451,6 +472,22 @@ function bestandenlijstALL(pmodule, pniveau, pkey, pnoWorkflow)
|
||||
{html: "rows='2' cols='60'", no_bb_codes: true} // kan hier nog iets een nieuwe regel forceren?
|
||||
);
|
||||
|
||||
if (S("email_cc_allowed") == 1)
|
||||
{
|
||||
RWTEXTAREATR("emails_cc",
|
||||
"fldtxt",
|
||||
L("lcl_noti_sendto_cc"),
|
||||
defaultemail,
|
||||
{html: "rows='2' cols='60'", no_bb_codes: true} // kan hier nog iets een nieuwe regel forceren?
|
||||
);
|
||||
|
||||
RWTEXTAREATR("emails_bcc",
|
||||
"fldtxt",
|
||||
L("lcl_noti_sendto_bcc"),
|
||||
defaultemail,
|
||||
{html: "rows='2' cols='60'", no_bb_codes: true} // kan hier nog iets een nieuwe regel forceren?
|
||||
);
|
||||
}
|
||||
%>
|
||||
|
||||
<tr>
|
||||
|
||||
@@ -28,22 +28,25 @@ protectRequest.validateToken();
|
||||
var orgsubject = getFParam("orgsubject", "");
|
||||
var subject = getFParam("subject", "");
|
||||
var mailfrom = getFParam("namens", "");
|
||||
var emails = getFParam("emails", "");
|
||||
var emails_to = getFParam("emails", "");
|
||||
var emails_cc = getFParam("emails_cc", "");
|
||||
var emails_bcc = getFParam("emails_bcc", "");
|
||||
var xkey = getFParamInt("xkey", -1);
|
||||
var maillist = "\n" + emails.replace(/\;/g, "\n");
|
||||
var maillist = "\n" + emails_to.replace(/\;/g, "\n");
|
||||
var email_receivers = {email_to: emails_to, email_cc: emails_cc, email_bcc:emails_bcc};
|
||||
|
||||
|
||||
function tracksentemail(key, srttracking, emails, mailfrom, subject, prs_perslid_key, xkey, att_list, name_list)
|
||||
function tracksentemail(key, srttracking, email_receivers, mailfrom, subject, prs_perslid_key, xkey, att_list, name_list)
|
||||
{
|
||||
// This function is our gate to the mail (and probably other media) queue for ad hoc sending needs by the user
|
||||
// To be invoked e.g. when a user wants to e-mail a reservation form ("bon") to requestor or other address
|
||||
function queuemail(pcode, pref, pmessage, pemail, pmailfrom, xkey)
|
||||
function queuemail(pcode, pref, pmessage, pemail_to, pmailfrom, xkey, pemail_cc, pemail_bcc)
|
||||
{
|
||||
// pcode hoort te zijn een van BESMAI, BES2MA, BEZMAI, MLDMAI, ORDMAI, RESMAI, RES2MA
|
||||
// en is noodzakelijk om in de queue nog het type te kunnen bepalen.
|
||||
// PutOrders moet er nl. een bon van kunnen maken. De status/mode aldaar is dummy.
|
||||
// En: De laatste parameter is voor RESMAI/alleen een deelreservering.
|
||||
if (pemail == null) return false;
|
||||
if (pemail_to == null) return false;
|
||||
|
||||
if (pmailfrom == "")
|
||||
{ // Geen namens mail adres meegekregen. Dan mailadres van user invullen
|
||||
@@ -60,22 +63,31 @@ function tracksentemail(key, srttracking, emails, mailfrom, subject, prs_perslid
|
||||
+ ", " + pref
|
||||
+ ", " + safe.quoted_sql(pmessage)
|
||||
+ ", 2" // pstatus
|
||||
+ ", " + safe.quoted_sql(pemail)
|
||||
+ ", " + safe.quoted_sql(pemail_to)
|
||||
+ ", NULL" // pmobile
|
||||
+ ", " + xkey
|
||||
+ ", 2"
|
||||
+ ", " + safe.quoted_sql(pmailfrom)
|
||||
+ ", " + safe.quoted_sql(attachments)
|
||||
+ ", pcc => " + safe.quoted_sql(pemail_cc)
|
||||
+ ", pbcc => " + safe.quoted_sql(pemail_bcc)
|
||||
+ "); END;");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// emails splitten
|
||||
var emailArr = ('' + emails).split(';');
|
||||
for (i = 0; i < emailArr.length; i++)
|
||||
{
|
||||
queuemail (srttracking, key, subject, emailArr[i], mailfrom, xkey);
|
||||
if (S("email_cc_allowed") == 1)
|
||||
{ // Versturen naar "cc:" en "bcc:" is ook mogelijk. Meerder "to:" ontvangers ook in een keer versturen.
|
||||
queuemail (srttracking, key, subject, email_receivers.email_to, mailfrom, xkey, email_receivers.email_cc, email_receivers.email_bcc);
|
||||
}
|
||||
else
|
||||
{ // Alleen "to:" toegestaan: Verstuur elke receiver apart (men kan dus niet zien wie deze mail nog meer krijgt).
|
||||
var emailArr = ('' + email_receivers.email_to).split(';');
|
||||
for (i = 0; i < emailArr.length; i++)
|
||||
{
|
||||
queuemail (srttracking, key, subject, emailArr[i], mailfrom, xkey);
|
||||
}
|
||||
}
|
||||
|
||||
// tracking van de XXXMAI is niet altijd gewenst, als het versturen is gelukt
|
||||
@@ -83,7 +95,7 @@ function tracksentemail(key, srttracking, emails, mailfrom, subject, prs_perslid
|
||||
if (subject == orgsubject)
|
||||
return
|
||||
|
||||
var mail_str = L("lcl_hasbeenmailed_to") + emails
|
||||
var mail_str = L("lcl_hasbeenmailed_to") + emails_to
|
||||
+ (subject != orgsubject ? "\n" + L("lcl_noti_sendsubject") + " " + subject : "");
|
||||
|
||||
// Voor RESMAI moet res_rsv_ruimte_key meegegeven worden van de deelreservering.
|
||||
@@ -173,7 +185,7 @@ for (var att = 0; att < getFParam("cnt_kmnr", -1); att++)
|
||||
}
|
||||
|
||||
// track het senden van de mail
|
||||
tracksentemail(pkey, pcode, emails, mailfrom, subject, user_key, (xkey > 0? xkey : null), file_list, name_list);
|
||||
tracksentemail(pkey, pcode, email_receivers, mailfrom, subject, user_key, (xkey > 0? xkey : null), file_list, name_list);
|
||||
|
||||
var result = {success: true};
|
||||
|
||||
|
||||
@@ -69,6 +69,8 @@ function sendNotification(ref_key, pcode, params)
|
||||
= "SELECT prs_perslid_key_receiver"
|
||||
+ " , fac_notificatie_receiver_email"
|
||||
+ " , fac_notificatie_receiver_phone"
|
||||
+ " , fac_notificatie_email_cc"
|
||||
+ " , fac_notificatie_email_bcc"
|
||||
+ " , fac_notificatie_oms"
|
||||
+ " , fac_notificatie_status"
|
||||
+ " , fac_notificatie_refkey"
|
||||
@@ -337,6 +339,8 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
try
|
||||
{
|
||||
var receiver_email = rec("fac_notificatie_receiver_email").value || "";
|
||||
var receiver_email_cc = rec("fac_notificatie_email_cc").value || "";
|
||||
var receiver_email_bcc = rec("fac_notificatie_email_bcc").value || "";
|
||||
var sender_email = rec("fac_notificatie_sender_email").value || "";
|
||||
var attach_refkey = rec("fac_notificatie_refkey").value;
|
||||
var attach_srtkenmerkkey = rec("fac_srtnotificatie_srtkm_key").value;
|
||||
@@ -352,6 +356,10 @@ v_aanduiding = "notificationMail 1";
|
||||
if (rec("fac_notificatie_status").value & params.STATUS_EMAIL) // bitwise AND
|
||||
{
|
||||
var cc_arr = [];
|
||||
if (receiver_email_cc)
|
||||
{ // De cc meegegeven adressen. Altijd ; tussen adressen. In een array zodat evt. vervangers kunnen worden toegevoegd.
|
||||
cc_arr = receiver_email_cc.replace(/[ ,]+/g,";").split(";");
|
||||
}
|
||||
if (noti_collegas && prs_perslid_key_receiver)
|
||||
{
|
||||
var sql_noti = "SELECT p.prs_perslid_email"
|
||||
@@ -384,10 +392,16 @@ v_aanduiding = "notificationMail 1";
|
||||
}
|
||||
oRs_noti.Close();
|
||||
}
|
||||
var bcc_arr = [];
|
||||
if (receiver_email_bcc)
|
||||
{ // De bcc meegegeven adressen. Altijd ; tussen adressen.
|
||||
bcc_arr = receiver_email_bcc.replace(/[ ,]+/g,";");
|
||||
}
|
||||
v_aanduiding = "notificationMail 2";
|
||||
var mail_params = { attachFileName: ""
|
||||
, attachments: []
|
||||
, cc: cc_arr.join(";")
|
||||
, bcc: bcc_arr
|
||||
};
|
||||
if (geturl) // Fetch data from url to mail
|
||||
{
|
||||
|
||||
@@ -667,6 +667,8 @@ v_aanduiding = "sendMail 10";
|
||||
{
|
||||
var forcedgrouptxt = (forcedgroup ? " forced by allowed group " + S("puo_forceallowedgroep") : "");
|
||||
forcemsg += "\n (effective from: " + objMail.From + " to: " + objMail.To + forcedgrouptxt + ")";
|
||||
forcemsg += "\ncc: "+params.cc
|
||||
+ "\nbcc: "+ params.bcc;
|
||||
}
|
||||
|
||||
Log2File(1, forcemsg);
|
||||
|
||||
Reference in New Issue
Block a user