function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Prash2Prash2 

s-Control stopped sending emails

Hello,

We have sControl that's used in a custom button on Account page. The sControl collects some data from the form and sends out an email. The sControl all of sudden stopped sending emails a few months ago. No changes were made to sControl itself. We need assistence from sControl expert in identifying what might have caused the issue and if any changes need to be made to sControl. Unfortunately, I never worked in sControls and could always create a new VF pge to accomplish this. However, it would be great if someone can point out if there's something wrong and can be easily adjusted. I am pasting the sControl code below. Thanks, Prashant

sControl Code
----------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Product Selection</title>
<link href="/dCSS/Theme2/default/common.css" type="text/css" media="handheld,print,projection,screen,tty,tv" rel="stylesheet" >
<link href="/dCSS/Theme2/default/custom.css" type="text/css" media="handheld,print,projection,screen,tty,tv" rel="stylesheet" >
<link href="/css/assistive.css" type="text/css" media="aural,braille,embossed" rel="stylesheet" >
<script src="https://www.salesforce.com/services/lib/ajax/beta3.3/sforceclient.js" type="text/javascript"></script>

<script type="text/javascript" src="/js/functions.js"></script>
<script language="javascript" type="text/javascript">

function initPage() {
sforceClient.useCookies = true;
//sforceClient.registerInitCallback(setup);
sforceClient.init("{!API.Session_ID}", "{!API.Partner_Server_URL_70}", true);
setTimeout("setup()",50);
}

// main setup entry point
function setup() {

}


function doSendEmail()
{

//debugger;

var ToAddress ="";
var AdditionalToAddress = "{!User.Email}";



if("omar@reisys.com" != AdditionalToAddress)
{
AdditionalToAddress = 'SalesForceActionLine@genworth.com';
}

var OpportunitId="";
var locationStr="";
var newESISessionStatus="";
var InstrNotes="";
var eventIdStr = "";
var CCAddress = "";
var BCCAddress ="{!User.Email}";
var DateDisplay="";



var userFirstName = "";
var userLastName = "";
var url = "/email/author/emailauthor.jsp?rtype=003&save=1&p2=" +ToAddress + "&p24=" +AdditionalToAddress +"&p4=" + CCAddress +"&p5=" +BCCAddress
var Subject=returnConstructedEmailSubject();


var Body = returnConstructedEmailBody();
Subject = returnConstructedEmailSubject();
//alert(Subject + "\n "+Body);
url=url + "&p6=" +escape(Subject)+"&p23=" +escape(Body);
var _xml = new Sforce.XmlHttp();
_xml.req.open('POST', url,false);

_xml.req.send( Body );
var resp = _xml.req;
if(resp.statusText=='OK')
{
alert("Successfully sent the email");
jumpback("/{!Account.Id}")
}else
{
alert("The email notification failed.");
}

}


function returnConstructedEmailSubject()
{
var subjStr = "Address change request for the account {!Account.Name}";
return subjStr;
}

function returnConstructedEmailBody()
{
//alert(document.addressForm.new_street_1.value);
var openB = "<b>";
var closeB = "</b>"
var openP = "<p>";
var closeP = "</p>";
var brStr="<br>";
var orgBNumberStr = "{!Account.Branch_Org__c}";
if(orgBNumberStr != '' && orgBNumberStr != null)
{
orgBNumberStr = "{!Account.Branch_Org__c} - ";
}
var bodyStr = brStr;
bodyStr = bodyStr+"{!User.Name} has requested the following change for "+closeB+orgBNumberStr+"{!Account.Name}:"+ brStr;


bodyStr = bodyStr+brStr + returnAddressBodypart('Mailing Address :', "{!Account.BillingStreet}","{!Account.BillingCity}", "{!Account.BillingState}", "{!Account.BillingPostalCode}",
document.addressForm.new_m_street_1.value,document.addressForm.new_m_city.value,
document.addressForm.new_m_state.value, document.addressForm.new_m_zip.value);
//alert(bodyStr1);

bodyStr = bodyStr+brStr + returnAddressBodypart('Street Address :', "{!Account.ShippingStreet}","{!Account.ShippingCity}", "{!Account.ShippingState}", "{!Account.ShippingPostalCode}",
document.addressForm.new_s_street_1.value,document.addressForm.new_s_city.value,
document.addressForm.new_s_state.value, document.addressForm.new_s_zip.value);

bodyStr = bodyStr+brStr + returnPhoneBodypart('Phone & Fax :',"{!Account.Phone}",document.addressForm.new_phone.value ,"{!Account.Fax}",document.addressForm.new_fax.value);

/*bodyStr = bodyStr +brStr+""+openB+"From --";
bodyStr = bodyStr+""+closeB+""+brStr+"Street: {!Account.BillingStreet}"+brStr+"City: {!Account.BillingCity}"+brStr+"State: {!Account.BillingState}"+brStr+"Zip: {!Account.BillingPostalCode} "+brStr+"Phone: {!Account.Phone}"+brStr+"Fax: {!Account.Fax}"+brStr;
bodyStr = bodyStr +""+openB+""+brStr+"To --"+closeB+""+brStr;
bodyStr = bodyStr +"Street: "+document.addressForm.new_street_1.value +brStr+"City: "+document.addressForm.new_city.value+""+brStr+"State: "+document.addressForm.new_state.value+""+brStr+"Zip: "+document.addressForm.new_zip.value+""+brStr+"Phone: "+document.addressForm.new_phone.value+brStr+"Fax: "+document.addressForm.new_fax.value+brStr;
bodyStr = bodyStr +""+closeP;*/
//alert(bodyStr);
return bodyStr;
}


function returnAddressBodypart(addName, frStreet,frCity, frState, frZip, toStreet,toCity, toState, toZip)
{

var bodyStr = "";
bodyStr = addName + "\n";
bodyStr = bodyStr +"-----------------"+ "\n";
bodyStr = bodyStr + "From---" + "\n";
bodyStr = bodyStr + "Street: " + frStreet + "\n" ;
bodyStr = bodyStr + "City : " + frCity + "\n" ;
bodyStr = bodyStr + "State : " + frState + "\n" ;
bodyStr = bodyStr + "Zip : " + frZip + "\n" ;
bodyStr = bodyStr + "\n";

bodyStr = bodyStr + "To---" + "\n";
bodyStr = bodyStr + "Street: " + toStreet + "\n" ;
bodyStr = bodyStr + "City : " + toCity + "\n" ;
bodyStr = bodyStr + "State : " + toState + "\n" ;
bodyStr = bodyStr + "Zip : " + toZip + "\n" ;
return bodyStr;
}


function returnPhoneBodypart(addName,frPhone, toPhone, frFax, toFax)
{
var bodyStr = "";
bodyStr = addName + "\n";
bodyStr = bodyStr +"-----------------"+ "\n";
bodyStr = bodyStr + "From---" + "\n";
bodyStr = bodyStr + "Phone : " + frPhone + "\n" ;
bodyStr = bodyStr + "Fax : " + frFax + "\n" ;
bodyStr = bodyStr + "To---" + "\n";
bodyStr = bodyStr + "Phone : " + toPhone + "\n" ;
bodyStr = bodyStr + "Fax : " + toFax + "\n" ;
bodyStr = bodyStr + "\n";
return bodyStr;
}
function jumpbackToAccount()
{ jumpback("/{!Account.Id}"); }

function jumpback(retUrl)
{ window.parent.parent.location.href = retUrl; }

</script>

</head>
<body onload="javascript:initPage();" class="account editPage" >
<a name="skiplink"><img src="/s.gif" height='1' width='1'
alt="Content Starts Here" class="skiplink"></a><div class="bPageTitle">
<div class="ptBody secondaryPalette">
<div class="content"><img src="/s.gif" alt="Account" class="pageTitleIcon">
<h1 class="pageType">Account <span class="titleSeparatingColon">:</span></h1>
<h2 class="pageDescription" id="pdes" >Address Change Request</h2>
<!-- --> <br >
<!-- <div class="blank">&nbsp;</div>
-->
</div>
</div> <!-- end ptBody -->
<div class="bDescription" id="descript">Please review current information. If a change is necessary, provide the updated information in the "Update Address" section and click on "Send Email".</div>

<div id="pagebody">
<div class="hotListElement"><div class="bPageBlock secondaryPalette"><div class="pbHeader"><form id="addressForm" name="addressForm" ><TABLE cellpadding="0" cellspacing="0" border="0"><TR><TD class="pbTitle"><img src="/s.gif" alt="" title="" width=1 height=1 class="minWidth"><h3>Account Inormation</h3></TD><TD class="pbButton"></TD><TD class="pbHelp"></TD></TR>
</TABLE>
</div>
<div class="pbBody">
<table class="list" border="0" cellspacing="0" cellpadding="0">

<TR>
<TD align="center" ><B>Account Name</B></TD><TD class="dataCol col02">{!Account.Name}</TD>
<TD align="center" ><B>Branch Org</B></TD><TD class="dataCol col02">{!Account.Branch_Org__c} </TD>
</TR>

</table>
</div></div>

<h3><span id="pbname"></span></h3>



<div class="hotListElement"><div class="bPageBlock secondaryPalette"><div class="pbHeader"><form id="addressForm" name="addressForm" ><TABLE cellpadding="0" cellspacing="0" border="0"><TR><TD class="pbTitle"><img src="/s.gif" alt="" title="" width=1 height=1 class="minWidth"><h3>Current Address</h3></TD><TD class="pbButton"></TD><TD class="pbHelp"></TD></TR>
</TABLE>

</div>
<div class="pbBody">
<table class="list" border="0" cellspacing="0" cellpadding="0">
<TR><TD>&nbsp;</TD><TD ><B>Street Address</B></TD><TD>&nbsp;</TD><TD ><B>Mailing Address</TD></TR>
<TR>
<TD class="labelCol">Street</TD><TD class="dataCol col02">{!Account.ShippingStreet}</TD>
<TD class="labelCol">Street</TD><TD class="dataCol col02">{!Account.BillingStreet}</TD>
</TR>

<TR>
<TD class="labelCol">City</TD><TD class="dataCol col02">{!Account.ShippingCity} </TD>
<TD class="labelCol">City</TD><TD class="dataCol col02">{!Account.BillingCity} </TD>
</TR>
<TR>
<TD class="labelCol">State</TD><TD class="dataCol col02">{!Account.ShippingState}</TD>
<TD class="labelCol">State</TD><TD class="dataCol col02">{!Account.BillingState}</TD>
</TR>
<TR>
<TD class="labelCol">Zip</TD><TD class="dataCol col02">{!Account.ShippingPostalCode}</TD>
<TD class="labelCol">Zip</TD><TD class="dataCol col02">{!Account.BillingPostalCode}</TD>
</TR>
<TR>
<TD class="labelCol">Phone</TD><TD class="dataCol col02">{!Account.Phone}</TD><TD class="labelCol">&nbsp;</TD><TD class="dataCol col02">&nbsp;</TD>
</TR>
<TR>
<TD class="labelCol">Fax</TD><TD class="dataCol col02">{!Account.Fax}</TD><TD class="labelCol">&nbsp;</TD><TD class="dataCol col02">&nbsp;</TD>
</TR>
</table>
</div></div>

<br>

<div class="bPageBlock bEditBlock secondaryPalette" id="ep"><div class="pbHeader">
<TABLE cellpadding="0" cellspacing="0" border="0"><TR><TD class="pbTitle"><img src="/s.gif" alt="" title="" width=1 height=1 class="minWidth"><h2 class="mainTitle">Update Address</h2></TD><TD class="pbButton"><input value="Send Email" class="btn" type="button" title="Send Email" name="send_email" onclick="return doSendEmail()" > <input value="Cancel" class="btn" type="submit" title="Cancel" name="cancel" onclick="return jumpbackToAccount()" ></TD></TR>
</TABLE>
</div>
<div class="pbBody">
<TABLE class="detailList" cellpadding="0" cellspacing="0" border="0">
<TR><TD>&nbsp;</TD><TD ><B>Street Address</B></TD><TD>&nbsp;</TD><TD ><B>Mailing Address</TD></TR>
<TR></TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_s_street_1">Street</label></TD><TD class="dataCol col02" width="25%"><textarea cols="25" id="new_s_street_1" maxlength="255" name="new_street_1" rows="2" tabindex="30" type="text" wrap="soft">{!Account.ShippingStreet}</textarea></TD>
<TD class="labelCol" width="25%"><label for="new_m_street_1">Street</label></TD><TD class="dataCol col02" width="25%"><textarea cols="25" id="new_m_street_1" maxlength="255" name="new_street_1" rows="2" tabindex="35" type="text" wrap="soft">{!Account.BillingStreet}</textarea></TD>
</TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_s_city">City</label></TD><TD class="dataCol col02" width="25%"><input tabindex="32" maxlength="40" type="text" id="new_s_city" size="20" name="new_city" value="{!Account.ShippingCity}"></TD>
<TD class="labelCol" width="25%"><label for="new_m_city">City</label></TD><TD class="dataCol col02" width="25%"><input tabindex="36" maxlength="40" type="text" id="new_m_city" size="20" name="new_city" value="{!Account.BillingCity}"></TD>
</TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_s_state">State</label></TD><TD class="dataCol col02" width="25%"><input tabindex="33" maxlength="20" type="text" id="new_s_state" size="20" name="new_state" value="{!Account.ShippingState}"></TD>
<TD class="labelCol" width="25%"><label for="new_m_state">State</label></TD><TD class="dataCol col02" width="25%"><input tabindex="37" maxlength="20" type="text" id="new_m_state" size="20" name="new_state" value="{!Account.BillingState}"></TD>
</TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_s_zip">Zip</label></TD><TD class="dataCol col02" width="25%"><input tabindex="34" maxlength="20" type="text" id="new_s_zip" size="20" name="new_zip" value="{!Account.ShippingPostalCode}"></TD>
<TD class="labelCol" width="25%"><label for="new_m_zip">Zip</label></TD><TD class="dataCol col02" width="25%"><input tabindex="38" maxlength="20" type="text" id="new_m_zip" size="20" name="new_zip" value="{!Account.BillingPostalCode}"></TD>
</TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_phone">Phone</label></TD><TD class="dataCol col02" width="25%"><input tabindex="39" maxlength="40" type="text" id="new_phone" size="20" name="new_phone" value="{!Account.Phone}"></TD>
</TR>
<TR>
<TD class="labelCol" width="25%"><label for="new_fax">Fax</label></TD><TD class="dataCol col02" width="25%"><input tabindex="40" maxlength="40" type="text" id="new_fax" size="20" name="new_fax" value="{!Account.Fax}"></TD>
</TR>
</TABLE>
</div>

</div>
</form>
</div>


</body>
</html>
Ashish_SFDCAshish_SFDC
Hi Prashant, 


First step in understanding the issue or the failure of code would be Debug Logs. 

Enable debug logs for the user who clicks on the button and read the log you will be able to understand where exactly the code failed or came out of the execution - there also will be some errors generally that are not caucght. 

See the blog below, 

http://www.dhruvsoft.com/blog/how-to-use-debug-logs-in-salesforce-to-troubleshoot/

Post the logs and the line / word where the code is breaking for further understanding of the issue. 


Regards,
Ashish