ホームページ  >  記事  >  バックエンド開発  >  PHP クラスの再投稿 - 電子メールを送信するための完全に機能するクラス - 申し訳ありませんが、作者、アドレスを忘れてしまいました。local_PHP チュートリアルからコピーしました。

PHP クラスの再投稿 - 電子メールを送信するための完全に機能するクラス - 申し訳ありませんが、作者、アドレスを忘れてしまいました。local_PHP チュートリアルからコピーしました。

WBOY
WBOYオリジナル
2016-07-13 17:27:44817ブラウズ

次のクラスの関数は非常に強力です。HTML 形式でメールを送信できるだけでなく、添付ファイルも送信できます。 checkEmail($addressArray[$i])==false) return false } //--すべての正当なメール アドレス。 $this->mailTo は配列に格納されます = implode($addressArray, ","); return true; } /************************************************** 関数 setCC ($inAddress) カーボン コピーの電子メール アドレス パラメータを設定します。$inAddress は、1 つ以上の電子メール アドレスを含む文字列です。複数の電子メール アドレスを区切るには、カンマを使用します。デフォルトの戻り値は true ******* です。 * ************************************************ ** ****/ function setCC($inAddress){ //--explode() 関数を使用します"," に従って電子メール アドレスを分割 $addressArray =explode( ",",$inAddress) //-- ループを通じて電子メール アドレスの有効性を確認します for($i=0;$icheckEmail($addressArray) [$i] )==false) return false; } //--すべての有効な電子メール アドレスは配列に格納されます $this->mailCC = implode($addressArray, ",") } /*************************************************** 関数setBCC($inAddress) は、シークレット カーボン コピー アドレス パラメータを設定します。$inAddress は、1 つ以上の電子メール アドレスを含む文字列です。複数の電子メール アドレスを区切るには、カンマを使用します。デフォルトの戻り値は true ****** です。 ** *********************************/ function setBCC($inAddress){ //--explode() 関数を使用して、「,」に従って電子メール アドレスを分割します。 $addressArray =explode( ",",$inAddress); //--ループによる電子メール アドレスのチェック for($i=0;$icheckEmail($addressArray[$i])==false) return false } //--すべての正当な電子メール アドレスは配列 $this- に格納されます。 >mailBCC = implode( $addressArray, ","); return true; /*************************************************** * ************* 関数 setFrom($inAddress): 送信者アドレス パラメーター $inAddress を電子メール アドレスを含む文字列に設定します。デフォルトの戻り値は true ******** です。 ** *******************************/ function setFrom($inAddress){ if($this->checkEmail($inAddress)){ $this->mailFrom = $inAddress; } return false; } /************************ 関数 setSubject($inSubject) は、電子メールの件名パラメータ $inSubject を文字列に設定するために使用され、デフォルトの戻り値は true * ****** *************************************/ function setSubject($inSubject){ if(strlen(trim($inSubject)) > 0){ $this->mailSubject = ereg_replace( " n", "" ,$inSubject); return true; } return false; } /*************************************************** * 関数 setText($inText) は、メール本文パラメータをテキスト形式で設定します。$inText はテキストの内容であり、デフォルトの戻り値は true ********************* です。 ****** *************/ function setText($inText){ if(strlen(trim($inText)) > 0){ $this- >mailText = $inText ; return true; } /************************************** 関数 setHTML($inHTML) は、メール本文パラメータ $inHTML を HTML に設定します形式を HTML 形式に変換すると、デフォルトの戻り値は true ********************************** になります。*/ function setHTML($inHTML){ if(strlen(trim($inHTML)) > 0){ $this->mailHTML = $ inHTML; true を返す; } /********************** 関数 setAttachments($inAttachments) は、電子メールの添付ファイル パラメータを設定します。$inAttachments には、複数のファイルを含めることもできます。カンマを使用すると、split のデフォルトの戻り値は true ************************************** です。 ****/ function setAttachments($inAttachments){ if(strlen(trim($inAttachments)) > 0){ $this->mailAttachments = $inAttachments; ; } return false; } /********************************** 関数 checkEmail($inAddress): この関数は以前に呼び出したことがありますが、主にメールアドレスの正当性******************************************/ function checkEmail($inAddress){ return (ereg( "^[^@]+@([a-zA-Z0-9-]+.)+([ a-zA-Z0 -9-]{2}|net|com|gov|mil|org|edu|int)$",$inAddress)); }/*************************************************** 関数loadTemplate( $inFileLocation,$inHash,$inFormat) は、一時ファイルを読み取り、不要な情報を置き換えます。 $inHash は、一時値を保存するために使用されます。メールの本文**************************************を入力します。 **************/ function loadTemplate($inFileLocation,$inHash,$inFormat){ /* たとえば、電子メールには次の内容が含まれています: Dear ~!UserName~, Your address is ~!UserAddress~ */ // --「~!」は開始マークです。「~」は終了マークです。 $templateDelim = "~"; //--これらの場所を検索して置き換えます $templateLineOut = ""; - -一時ファイルを開く 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)); false ; } /****************************************** 関数 getRandomBoundary($offset) はランダムな境界を返します値パラメーター $offset は整数です。複数のパイプラインの呼び出しでは、md5() でエンコードされた文字列が返されます***************************** * ************/ function getRandomBoundary($offset = 0){ //--乱数生成 srand(time()+$offset); //--md5 でエンコードされた 32 ビット文字長のワードを返すString return ( "----".(md5(rand()))); } /********************************************* 関数: getContentType($inFileName) は添付ファイルの種類を決定するために使用されます ******************************************* ***/ function getContentType($inFileName){ //-- パスを削除 $inFileName = Basename($inFileName) ; //--拡張子なしのファイルを削除 if(strrchr($inFileName, ".") == false){ return "application/octet-stream" } //--拡張子を確認して判断 $extension = strrchr($ inFileName, "."); switch($extension){ case ".gif": return "image/gif"; case ".gz": return "application/x-gzip" : return "text /html"; ケース ".html": リターン "text/html"; ケース ".jpg": リターン "image/jpeg"; ケース ".tar": リターン "application/x-tar"; ケース ".txt" : "text/plain" を返します。 ".zip" を返します。 デフォルト: "application/octet-stream" を返します。 } /** *********************************************** 関数 formatTextHeader は追加します上記テキストのファイルヘッダーにテキストの内容**************************************** ****** ******** / function formatTextHeader(){ $outTextHeader = ""; $outTextHeader .= "Content-Type: text/plain; charset=us-asciin"; $outTextHeader .= "Content-Transfer-Encoding: 7bitnn"; $this->mailText. "n"; return $outTextHeader; } /*************************************************** 関数形式HTMLHeader () メール本文の内容を HTML ファイルのヘッダーに追加します************************************** **** **/ function formatHTMLHeader = ""; charset=us -asciin"; $outHTMLHeader .= "Content-Transfer-Encoding: 7bitnn"; $outHTMLHeader .= $this->mailHTML. "n"; return $outHTMLHeader; } /*************************************** 関数 formatAttachmentHeader($inFileLocation) は電子メール内の添付ファイルを識別します* **** ****************************/

用の関数

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531850.html技術記事次のクラスの関数は非常に強力です。HTML 形式で電子メールを送信できるだけでなく、添付ファイルも送信できます。 checkEmail($addressArray[$i])==false) return false } //--すべての正当な電子メール アドレスが返されます。配列に保存されています ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。