php写的发送附件的程序(二)
<?php
class html_mime_mail{
var $headers;
var $body;
var $multipart;
var $mime;
var $html;
var $html_text;
var $html_images = array();
var $cids = array();
var $do_html;
var $parts = array();
/***************************************
** Constructor function. Sets the headers
** if supplied.
***************************************/
function html_mime_mail($headers = ''''){
$this->headers = $headers;
}
/***************************************
** Adds a html part to the mail.
** Also replaces image names with
** content-id''s.
***************************************/
function add_html($html, $text){
$this->do_html = 1;
$this->html = $html;
$this->html_text = $text;
if(is_array($this->html_images) AND count($this->html_images) > 0){
for($i=0; $i<count($this->html_images); $i++){
$this->html = ereg_replace($this->html_images[$i][''name''], ''cid:''.$this->html_images[$i][''cid''], $this->html);
}
}
}
/***************************************
** Builds html part of email.
***************************************/
function build_html($orig_boundary){
$sec_boundary = ''=_''.md5(uniqid(time()));
$thr_boundary = ''=_''.md5(uniqid(time()));
if(!is_array($this->html_images)){
$this->multipart.= ''--''.$orig_boundary."\r\n";
$this->multipart.= ''Content-Type: multipart/alternative; boundary="''.$sec_boundary."\"\r\n\r\n\r\n";
$this->multipart.= ''--''.$sec_boundary."\r\n";
$this->multipart.= ''Content-Type: text/plain''."\r\n";
$this->multipart.= ''Content-Transfer-Encoding: 7bit''."\r\n\r\n";
$this->multipart.= $this->html_text."\r\n\r\n";
$this->multipart.= ''--''.$sec_boundary."\r\n";
$this->multipart.= ''Content-Type: text/html''."\r\n";
$this->multipart.= ''Content-Transfer-Encoding: 7bit''."\r\n\r\n";
$this->multipart.= $this->html."\r\n\r\n";
$this->multipart.= ''--''.$sec_boundary."--\r\n\r\n";
}else{
$this->multipart.= ''--''.$orig_boundary."\r\n";
$this->multipart.= ''Content-Type: multipart/related; boundary="''.$sec_boundary."\"\r\n\r\n\r\n";
$this->multipart.= ''--''.$sec_boundary."\r\n";
$this->multipart.= ''Content-Type: multip
[1] [2] [3] [4] 下一页