|
class Email {
//---設置全局變量
var $mailTo = ""; // 收件人
var $mailCC = ""; // 抄送
var $mailBCC = ""; // 秘密抄送
var $mailFrom = ""; // 發件人
var $mailSubject = ""; // 主題
var $mailText = ""; // 文本格式的信件主體
var $mailHTML = ""; // html格式的信件主體
var $mailAttachments = ""; // 附件
/* 函數setTo($inAddress) :用于處理郵件的地址 參數 $inAddress
為包涵一個或多個字串,email地址變量,使用逗號來分割多個郵件地址
默認返回值為true
**********************************************************/
function setTo($inAddress){
//--用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( ",",$inAddress);
//--通過循環對郵件地址的合法性進行檢查
for($i=0;$i<count($addressArray);$i++){ if($this->checkEmail($addressArray[$i])==false) return false; }
//--所有合法的email地址存入數組中
$this->mailTo = implode($addressArray, ",");
return true; }
/**************************************************
函數 setCC($inAddress) 設置抄送人郵件地址
參數 $inAddress 為包涵一個或多個郵件地址的字串,email地址變量,
使用逗號來分割多個郵件地址 默認返回值為true
**************************************************************/
function setCC($inAddress){
//--用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( ",",$inAddress);
//--通過循環對郵件地址的合法性進行檢查
for($i=0;$i<count($addressArray);$i++){ if($this->checkEmail($addressArray[$i])==false) return false; }
//--所有合法的email地址存入數組中
$this->mailCC = implode($addressArray, ",");
return true; }
/***************************************************
函數setBCC($inAddress) 設置秘密抄送地址 參數 $inAddress 為包涵一個或多
個郵件地址的字串,email地址變量,使用逗號來分割多個郵件地址 默認返回值為
true
******************************************/
function setBCC($inAddress){
//--用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( ",",$inAddress);
//--通過循環對郵件地址的合法性進行檢查
for($i=0;$i<count($addressArray);$i++)
{ if($this->checkEmail($addressArray[$i])==false)
return false;
}
//--所有合法的email地址存入數組中
$this->mailBCC = implode($addressArray, ",");
return true;
}
/*****************************************************************
函數setFrom($inAddress):設置發件人地址 參數 $inAddress 為包涵郵件
地址的字串默認返回值為true
***************************************/
function setFrom($inAddress){
if($this->checkEmail($inAddress)){
$this->mailFrom = $inAddress;
return true;
} 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; }
return false;
}
/**********************************
函數setHTML($inHTML) 設置html格式的郵件主體參數$inHTML為html格式,
默認返回值為true
************************************/
function setHTML($inHTML){
if(strlen(trim($inHTML)) > 0){
$this->mailHTML = $inHTML;
return true; }
return false; }
/**********************
函數 setAttachments($inAttachments) 設置郵件的附件 參數$inAttachments
為一個包涵目錄的字串,也可以包涵多個文件用逗號進行分割 默認返回值為true
*******************************************/
function setAttachments($inAttachments){
if(strlen(trim($inAttachments)) > 0){
$this->mailAttachments = $inAttachments;
return true; }
return false; }
/*********************************
函數 checkEmail($inAddress) :這個函數我們前面已經調用過了,主要就是
用于檢查email地址的合法性
*****************************************/
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) 讀取臨時文件并且
替換無用的信息參數$inFileLocation用于定位文件的目錄
$inHash 由于存儲臨時的值 $inFormat 由于放置郵件主體
***********************************************************/
function loadTemplate($inFileLocation,$inHash,$inFormat){
/* 比如郵件內有如下內容: Dear ~!UserName~,
Your address is ~!UserAddress~ */
//--其中”~!”為起始標志”~”為結束標志
$templateDelim = "~";
$templateNameStart = "!";
//--找出這些地方并把他們替換掉
$templateLineOut = ""; //--打開臨時文件
if($templateFile = fopen($inFileLocation, "r")){
while(!feof($templateFile)){
$templateLine = fgets($templateFile,1000);
$templateLineArray = explode($templateDelim,$templateLine);
for( $i=0; $i<count($templateLineArray);$i++){
//--尋找起始位置
if(strcspn($templateLineArray[$i],$templateNameStart)==0){
//--替換相應的值
$hashName = substr($templateLineArray[$i],1);
//--替換相應的值
$templateLineArray[$i] = ereg_replace($hashName,(string)$inHash[$hashName],$hashName);
}
}
//--輸出字符數組并疊加
$templateLineOut .= implode($templateLineArray, "");
} //--關閉文件fclose($templateFile);
//--設置主體格式(文本或html)
if( strtoupper($inFormat)== "TEXT" )
return($this->setText($templateLineOut));
else if( strtoupper($inFormat)== "HTML" )
return($this->setHTML($templateLineOut));
} return false;
}
/*****************************************
函數 getRandomBoundary($offset) 返回一個隨機的邊界值
參數 $offset 為整數 主站蜘蛛池模板: 陵川县| 汕尾市| 石首市| 兴安盟| 延寿县| 潞城市| 如皋市| 舞阳县| 泗洪县| 浙江省| 阿勒泰市| 科尔| 郎溪县| 偏关县| 闸北区| 宣汉县| 满洲里市| 黄平县| 方正县| 潜江市| 丁青县| 两当县| 元谋县| 平阳县| 正定县| 呼和浩特市| 德庆县| 通城县| 武冈市| 军事| 康马县| 宁阳县| 岐山县| 无为县| 丰台区| 明水县| 忻城县| 六枝特区| 涿州市| 建平县| 五大连池市|