Home  >  Article  >  Backend Development  >  Reposting a PHP class - a fully functional class for sending emails - sorry author, I forgot the address, I copied it from local_PHP tutorial

Reposting a PHP class - a fully functional class for sending emails - sorry author, I forgot the address, I copied it from local_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:27:44817browse

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

www.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...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Image Flip_PHP TutorialNext article:Image Flip_PHP Tutorial