Heim >Backend-Entwicklung >PHP-Tutorial >用MAIL函数发带附件的邮件的例子_PHP

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

WBOY
WBOYOriginal
2016-06-01 12:28:351005Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn