mail.inc.php,发现一个发送mime邮件的类。-PHP教程,邮件处理

// 存成 "mime_mail.inc" 檔案

class mime_mail {

var $parts;

var $to;

var $from;

var $headers;

var $subject;

var $body;

/*

*     void mime_mail()

*     類別建構者

*/

function mime_mail() {

$this->parts = array();

$this->to = "";

$this->from = "";

$this->subject = "";

$this->body = "";

$this->headers = "";

}

/*

*     void add_attachment(string message,

*                         [string name],

*                         [string ctype])

*     將附加物(附檔)加入郵件物件

*/

function add_attachment($message, $name = "",

$ctype = "application/octet-stream") {

$this->parts[] = array( "ctype" => $ctype,

"message" => $message,

"encode" => $encode,

"name" => $name);

}

/*

*     void build_message(array part)

*     建立 multipart 郵件的訊息部份

*/

function build_message($part) {

$message = $part["message"];

$message = chunk_split(base64_encode($message));

$encoding = "base64";

return "content-type: " . $part["ctype"] .

($part["name"] ? "; name=\"".$part["name"]."\"" : "") .

"\ncontent-transfer-encoding: $encoding\n\n$message\n";

}

/*

*     void build_multipart()

*     建立一封 multipart 郵件

*/

function build_multipart() {

$boundary = "b" . md5(uniqid(time()));

$multipart = "content-type: multipart/mixed; " .

"boundary = $boundary\n\n" .

"this is a mime encoded message.\n\n–$boundary";

for ($i = sizeof($this->parts) – 1; $i >= 0; $i–) {

$multipart .= "\n" . $this->build_message($this->parts[$i]) . "–$boundary";

}

return $multipart . "–\n";

}

/*

*     string get_mail()

*     傳回已組合完成的郵件

*/

function get_mail($complete = true) {

$mime = "";

if (!empty($this->from))

$mime .= "from: " . $this->from . "\n";

if (!empty($this->headers))

$mime .= $this->headers . "\n";

if ($complete) {

if (!empty($this->to))

$mime .= "to: $this->to\n";

if (!empty($this->subject))

$mime .= "subject: $this->subject\n";

}

if (!empty($this->body))

$this->add_attachment($this->body, "", "text/plain");

$mime .= "mime-version: 1.0\n" . $this->build_multipart();

return $mime;

}

/*

*     void send()

*     寄出這封信(最後一個被呼叫的函式)

*/

function send() {

$mime = $this->get_mail(false);

mail($this->to, $this->subject, "", $mime);

}

}  // 類別結束

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值