这有个例子:
/*
* class mime_mail
* original implementation by sascha schumann <sascha@schumann.cx>
* modified by tobias ratschiller <tobias@.net.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".
"\ncontent-disposition: inline".
($part["name"]?"; filename=\"".$part["name"]."\"":"").
"\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();
*/
?>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器