The function of the following class is very powerful. It can not only send emails in html format, but also send attachments checkEmail($addressArray[$i])==false) return false; } //--All legal email addresses Store in the array $this->mailTo = implode($addressArray, ","); return true; } /************************************************** Function setCC ($inAddress) Set the carbon copy email address parameter. $inAddress is a string containing one or more email addresses, an email address variable. Use commas to separate multiple email addresses. The default return value is true ******** *************************************************** ****/ function setCC($inAddress){ //--Use the explode() function according to " ," Split the email address $addressArray = explode( ",",$inAddress); //--Check the validity of the email address through a loop for($i=0;$icheckEmail($addressArray [$i])==false) return false; } //--All legal email addresses are stored in the array $this->mailCC = implode($addressArray, ","); return true; } /*************************************************** Function setBCC($inAddress) sets the secret carbon copy address parameter. $inAddress is a string containing one or more email addresses, an email address variable. Use commas to separate multiple email addresses. The default return value is true ******** **********************************/ function setBCC($inAddress){ //--Use the explode() function to split the email address based on "," $addressArray = explode( ",",$inAddress); //--Use the explode() function to split the email address by looping Check the legality of the address for($i=0;$icheckEmail($addressArray[$i])==false) return false; } //--All legal email addresses are stored in the array $this ->mailBCC = implode($addressArray, ","); return true; } /***************************************************** ************* Function setFrom($inAddress): Set the sender address parameter $inAddress to a string containing the email address. The default return value is true ********** *******************************/ function setFrom($inAddress){ if($this->checkEmail($inAddress)){ $this-> mailFrom = $inAddress; return true; } return false; } /************************ The function setSubject($inSubject) is used to set the email subject parameter $inSubject to a string. The default return value is true ******* ************************************/ function setSubject($inSubject){ if(strlen(trim($inSubject)) > 0){ $this->mailSubject = ereg_replace( "n", "",$inSubject); return true; } return false; } /***************************************************** Function setText($inText) sets the email body parameter in text format. $inText is the text content and the default return value is true *************************** *************/ function setText($inText){ if(strlen(trim($inText)) > 0){ $this ->mailText = $inText; return true; } return false; } /************************************ The function setHTML($inHTML) sets the email body parameter $inHTML in html format to html format. , the default return value is true **************************************/ function setHTML($inHTML){ if(strlen(trim($inHTML)) > 0){ $this->mailHTML = $inHTML; return true; } return false; } /********************** The function setAttachments($inAttachments) sets the attachment parameter of the email. $inAttachments is a string containing the directory. It can also contain multiple files with commas. The default return value of splitting is true *******************************************/ function setAttachments($inAttachments){ if(strlen(trim($inAttachments)) > 0){ $this->mailAttachments = $inAttachments; return true; } return false; } /********************************* Function checkEmail($inAddress): We have called this function before, mainly used To check the legitimacy of the email address*******************************************/ function checkEmail($inAddress){ return (ereg( "^[^@ ]+@([a-zA-Z0-9-]+.)+( [a-zA-Z0-9-]{2}|net|com|gov|mil|org|edu|int)$",$inAddress)); }/*************************************************** Function loadTemplate( $inFileLocation,$inHash,$inFormat) reads the temporary file and replaces the useless information. The parameter $inFileLocation is used to locate the directory of the file. $inHash is used to store the temporary value. $inFormat is used to place the email body**********. *************************************************/ function loadTemplate($inFileLocation,$inHash,$inFormat){ /* For example, the email contains the following content: Dear ~!UserName~, Your address is ~!UserAddress~ */ //--where "~!" is the start mark "~" is the end mark $templateDelim = "~"; $templateNameStart = "!"; //--Find these places and replace them $templateLineOut = ""; //- -Open temporary file if($templateFile = fopen($inFileLocation, "r")){ while(!feof($templateFile)){ $templateLine = fgets($templateFile,1000); $templateLineArray = explode($templateDelim,$ templateLine); for( $i=0; $isetText($templateLineOut)); else if( strtoupper($inFormat)== "HTML" ) return($this->setHTML($templateLineOut)); } return false; } /***************************************** The function getRandomBoundary($offset) returns a random boundary The value parameter $offset is an integer – the call for multiple pipes returns an md5() encoded string****************************** ************/ function getRandomBoundary($offset = 0){ //--Random number generation srand(time()+$offset); //--Return the 32-bit character length of md5 encoding String return ( "----".(md5(rand()))); } /******************************************** Function: getContentType($inFileName) is used To determine the type of attachment **********************************************/ function getContentType($inFileName){ //--Remove path $inFileName = basename($ inFileName); //--Remove files without extension if(strrchr($inFileName, ".") == false){ return "application/octet-stream"; } //--Prompt the extension and make a judgment $extension = strrchr($inFileName, "."); switch($extension){ case ".gif": return "image/gif"; case ".gz": return "application/x-gzip"; case ". htm": return "text/html"; case ".html": return "text/html"; case ".jpg": return "image/jpeg"; case ".tar": return "application/x-tar" ; case ".txt": return "text/plain"; case ".zip": return "application/zip"; default: return "application/octet-stream"; } return "application/octet-stream"; } / ************************************************ The function formatTextHeader adds the text content to File header of the above text********************************************** ********/ function formatTextHeader(){ $outTextHeader = ""; $outTextHeader .= "Content-Type: text/plain; charset=us-asciin"; $outTextHeader .= "Content-Transfer-Encoding: 7bitnn "; $outTextHeader .= $this->mailText. "n"; return $outTextHeader; } /************************************************** Function formatHTMLHeader() Add the email body content to the html file header****************************************** **/ function formatHTMLHeader(){ $outHTMLHeader = ""; $outHTMLHeader .= "Content-Type: text /html; charset=us-asciin"; $outHTMLHeader .= "Content-Transfer-Encoding: 7bitnn"; $outHTMLHeader .= $this->mailHTML. "n"; return $outHTMLHeader; } /************************************ The function formatAttachmentHeader($inFileLocation) identifies the attachment in the email***** **************************** / function for
http://www.bkjia.com/PHPjc/531850.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/531850.htmlTechArticleThe function of the following class is very powerful. It can not only send emails in html format, but also send attachments checkEmail($ addressArray[$i])==false) return false; } //--All legal email addresses are stored in the array...