'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); } ?>