|
使用方法:
復制代碼 代碼如下:<?
Include “email.class”
$mail->setTo("a@a.com"); //收件人
$mail-> setCC("b@b.com,c@c.com"); //抄送
$mail-> setCC("d@b.com,e@c.com"); //秘密抄送
$mail->setFrom(“f@f.com”);//發件人
$mail->setSubject(“主題”) ; //主題
$mail->setText(“文本格式”) ;//發送文本格式也可以是變量
$mail->setHTML(“html格式”) ;//發送html格式也可以是變量
$mail->setAttachments(“c:a.jpg”) ;//添加附件,需表明路徑
$mail->send(); //發送郵件
?>
復制代碼 代碼如下:<?php
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 為整數 主站蜘蛛池模板: 文成县| 孙吴县| 正定县| 德昌县| 天峻县| 晴隆县| 漳浦县| 郁南县| 龙泉市| 鹤庆县| 通化市| 石家庄市| 黄冈市| 佛山市| 阿巴嘎旗| 丹东市| 长寿区| 静安区| 连云港市| 兴海县| 邢台县| 凌源市| 广西| 宁城县| 昔阳县| 秦安县| 正宁县| 新野县| 舟山市| 屏东县| 沐川县| 郎溪县| 达尔| 高碑店市| 铜梁县| 慈利县| 堆龙德庆县| 绍兴市| 泗阳县| 泰来县| 屏东县|