'8D98B36BB558BC6771324AEFB9E37');
if(array_key_exists($sApp, $asAuthorizedApi) && $sApiKey = $asAuthorizedApi[$sApp])
{
$sResult = sendEmail($sApp, $sFromName, $sFromEmail, $sSubject, $sMsg, $sToEmail, $asCc, $bSelfMail);
}
else $sResult = 1;
echo $sResult;
//Functions
function sendEmail($sApp, $sFromName, $sFromEmail, $sSubject, $sMsg, $sToEmail, $asCc, $bSelfMail)
{
$sResult = 0;
if($sFromName!='' && $sFromEmail!='' && $sSubject!='' && $sMsg!='' && $sToEmail!='')
{
//Message
$sHtmlMessage = '';
if($bSelfMail)
{
$sHtmlMessage = 'From: '.$sFromName."
".
'Email: '.$sFromEmail."
".
'Subject: '.$sSubject."
".
'Message:
';
$sFromName = $sApp;
$sSubject = $sApp.' - Contact';
}
$sHtmlMessage .= str_replace("\n", '
', $sMsg);
$sPlainMessage = strip_tags(str_replace('
', "\n", $sHtmlMessage));
//Email
$iBoundary = uniqid("HTMLEMAIL");
$sCc = empty($asCc)?'':('Cc: '.implodeAll($asCc, ' <', "\r\n, ", '', '>')."\r\n");
$sHeaders = 'From: '.$sFromName.' '."\r\n".
'Reply-To: '.$sFromName.' '."\r\n".
$sCc.
'MIME-Version: 1.0'."\r\n".
'Content-Type: multipart/alternative;'.
'boundary = '.$iBoundary."\r\n\r\n".
'MIME encoded Message'.
'--'.$iBoundary."\r\n".
'Content-Type: text/plain; charset=UTF-8'."\r\n".
'Content-Transfer-Encoding: base64'."\r\n\r\n".
chunk_split(base64_encode($sPlainMessage)).
'--'.$iBoundary."\r\n".
'Content-Type: text/html; charset=UTF-8'."\r\n".
'Content-Transfer-Encoding: base64'."\r\n\r\n".
chunk_split(base64_encode($sHtmlMessage));
//Store in case email fails
//@file_put_contents('log.html', '
----
'.$sHtmlMessage, FILE_APPEND);
//Send
if(mail($sToEmail, $sSubject, '', $sHeaders))
{
$sResult = 2;
}
else
{
$sResult = 3;
}
}
else
{
$sResult = 4;
}
return $sResult;
}
function implodeAll($asText, $asKeyValueSeparator='', $sRowSeparator='', $sKeyPre='', $sValuePost=false)
{
if($sValuePost===false)
{
$sValuePost = $sKeyPre;
}
$asCombinedText = array();
//if unique value for key value separator
if(!is_array($asKeyValueSeparator) && !empty($asText))
{
$asKeyValueSeparator = array_combine(array_keys($asText), array_fill(0, count($asText), $asKeyValueSeparator));
}
foreach($asText as $sKey=>$sValue)
{
$asCombinedText[] = $sKeyPre.$sKey.$asKeyValueSeparator[$sKey].(is_array($sValue)?implode($sValue):$sValue).$sValuePost;
}
return implode($sRowSeparator, $asCombinedText);
}
?>