收发发附件?

请问怎么用mail发附件?
怎么用imap收附件?
(别的方法也可以)

---------------------------------------------------------------

我贴,已测试通过

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 ); } 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."\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 //$attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg")); //这里也得去掉,但是你的test.jpg必须存在 $mail = new mime_mail(); $mail->from = "[email protected]"; //这是出处 $mail->headers = "Errors-To: [email protected]"; $mail->to = "[email protected]"; //这是戏子的邮箱,在这里你可以改成你的邮箱发一下 $mail->subject = 'test...';//这是标题 $mail->body = 'ok!'; //这是内容 //$mail->add_attachment("$attachment", "test.jpg", "image/jpeg"); //去掉注释,你就以发附件 $mail->send(); print "ok,成功完成!"; ?> 这是发附件 \--------------------------------------------------------------- function get_part (&$stream, &$msg_number, $mime_type, $structure = false, $part_number = false) { if (!$structure) { $structure = imap_fetchstructure($stream, $msg_number); } if($structure) { if(strtolower ($mime_type) == get_mime_type($structure)) { if(!$part_number) { $part_number = "1"; } if ($structure->ifdisposition) { if (strtolower ($structure->disposition) == "attachment") return false; } $text = imap_fetchbody($stream, $msg_number, $part_number); if($structure->encoding == 3) { return imap_base64($text); } else if($structure->encoding == 4) { return imap_qprint($text); } else { return $text; } } if($structure->type == 1) /* multipart */ { while(list($index, $sub_structure) = each($structure->parts)) { if($part_number) { $prefix = $part_number . '.'; } $data = get_part($stream, $msg_number, $mime_type, $sub_structure, $prefix . ($index + 1)); if($data) { return $data; } } } } return false; }
Published At
Categories with Web编程
comments powered by Disqus