Home > Backend Development > PHP Tutorial > 用MAIL函数发带附件的邮件的例子_PHP

用MAIL函数发带附件的邮件的例子_PHP

WBOY
Release: 2016-06-01 12:28:35
Original
1002 people have browsed it

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: $encodingnn$messagen";

}



/* * void build_multipart() * Build a multipart mail */

function build_multipart()

{

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

$multipart = "Content-Type: multipart/mixed; boundary = $boundarynnThis is a MIME

encoded message.nn--$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.0n".$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();

*/


?&g

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template