<?php
class mime_mail {
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;
//
function mime_mail() {
$this->parts = array ();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";
}
//
function add_attachment($message, $name = "", $ctype = "application/octet-stream") {
$this->parts [] = array ("ctype" => $ctype, "message" => $message, "encode" => $encode, "name" => $name );
}
// (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";
}
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";
}
// ,
function send() {
$mime = "";
if (! empty ( $this->from ))
$mime .= "From: " . $this->from . "\r\n";
if (! empty ( $this->headers ))
$mime .= $this->headers . "\r\n";
if (! empty ( $this->body ))
$this->add_attachment ( $this->body, "", "text/plain; charset=utf-8" );
$mime .= "MIME-Version: 1.0 \r\n" . $this->build_multipart ();
$this->subject = "=?UTF-8?B?".base64_encode($this->subject)."?=";
return mail ( $this->to, $this->subject, "", $mime );
}
}
?>
<?php
//例子
/*
$attachment = fread ( fopen ( "upload/200901/4az0xokifcu6k.jpg", "r" ), filesize ( "upload/200901/4az0xokifcu6k.jpg" ) );
$mail = new mime_mail ( );
$mail->from = "my@e-mail.com";
$mail->headers = "Errors-To: [EMAIL=my@e-mail.com]my@e-mail.com[/EMAIL]";
$mail->to = "conkeyn@163.com";
$mail->subject = "PHP atachment";
$mail->body = "Get your file!";
$mail->add_attachment ( "$attachment", "4az0xokifcu6k.jpg", "Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG" );
$mail->send ();
*/
?>
php mail 支持UTF-8,附件
最新推荐文章于 2021-03-19 22:33:17 发布