php mail附件,我再来转载一篇 "用EMAIL附件传送一个文件(用mail)"-PHP教程,PHP应用...

/*

* class mime_mail

* original implementation by sascha schumann < sascha@schumann.cx >

* modified by tobias ratschiller < tobias@dnet.it >:

* – general code clean-up

* – separate body- and from-property

* – killed some mostly un-necessary stuff

*/

class mime_mail

{

var $parts;

var $to;

var $from;

var $headers;

var $subject;

var $body;

/*

* void mime_mail()

* class constructor

*/

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])

* add an attachment to the mail object

*/

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=

* build message parts of an multipart mail

*/

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()

* build a multipart mail

*/

function build_multipart()

{

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

$multipart = "content-type: multipart/mixed; boundary = $boundary\n\nthis 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";

}

/*

* void send()

* send the mail (last class-function to be called)

*/

function send()

{

$mime = "";

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

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

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

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

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

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

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

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

}

}; // end of class

/*

* example usage

*

$attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg"));

$mail = new mime_mail();

$mail->from = " foo@bar.com ";

$mail->headers = "errors-to: foo@bar.com ";

$mail->to = " bar@foo.com ";

$mail->subject = "testing…";

$mail->body = "this is just a test.";

$mail->add_attachment("$attachment", "test.jpg", "image/jpeg");

$mail->send();

*/

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值