喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: 请教,php发送email的格式?怎么得到各部分内容呢  
 
Richie.s (Richie.s)
注册会员
Rank: 2
一般会员



UID 27124
精华 0
积分 78
帖子 75
金钱 78 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-3-21
来自 深圳
状态 离线
请教,php发送email的格式?怎么得到各部分内容呢

各位大虾,能不能告诉下弟弟,怎么处理email啊,这个问题和发送没关系,而是受到一个发送的email后,怎么处理它呢,才能得到比如,header,body.还有附件的内容呢,发送过的接收到的email是文本形式存储的,我怎么办呢?
2004-12-9 10:27 AM#1
查看资料  发短消息  QQ  顶部
 
Yangtze (Yangtze)
新手上路
Rank: 1
初级会员



UID 28977
精华 0
积分 38
帖子 38
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-5-29
状态 离线
[推荐阅读] 我说rose声音这么熟,原来。。。。
以下是igenus的read.php,看看对你有没有帮助

<?php
/*-
* iGENUS webmail
*
* Copyright (c) 1999-2001 by iGENUS network system Inc.
* All rights reserved.
* Author: Wu Qiong <wuqiong@sczg.com>
*
* $Id: read.php,v 1.13 2003/01/14 00:57:38 wuqiong Exp $
*/

include "include/login_inc.php";
include "config/config_inc.php";
include "include/fun_inc.php";
include "language/$CFG_LANGUAGE"."_inc.php";

/* Èë¿Ú²ÎÊý:        
*                                $get_Mailbox        ÓÊÏä
*                                $get_Num                Óʼþ&ETH;òºÅ
*                                $get_Type
*/
$get_Mailbox = trim($HTTP_GET_VARS['Mailbox']);
$get_Num = trim($HTTP_GET_VARS['Num']);
$get_Type = trim($HTTP_GET_VARS['Type']);


$CFG_HOSTNAME = "http://".$HTTP_SERVER_VARS["HTTP_HOST"];
$CFG_HOSTNAME = $CFG_HOSTNAME . str_replace("read.php","",$HTTP_SERVER_VARS["SCRIPT_NAME"]);

switch ($get_Type){

case "Header":
        ShowHeader();
        break;
       
case "Source":        // ÏÔʾÓʼþÔ´´úÂë
        ShowSource();
        break;

case "text/html":
        $MimeType = "text/html";
        $filename = "unknown.html";
        ShowBody();
        break;

case "multipart/mixed":
case "multipart/related":
case "multipart/alternative":
        $MimeType = "text/html";
        if($CFG_Prev_Alternative=='Html'){
                if (file_exists("$CFG_TEMP/$G_DOMAIN/$G_USERNAME/unknown.html")) $filename = "unknown.html";
                else if (file_exists("$CFG_TEMP/$G_DOMAIN/$G_USERNAME/unknown.txt")){
                        $filename = "unknown.txt";
                        $MimeType = "text/plain";
                }
        }else{
                if (file_exists("$CFG_TEMP/$G_DOMAIN/$G_USERNAME/unknown.txt")){
                        $filename = "unknown.txt";
                        $MimeType = "text/plain";
                }
        }
        ShowBody();
        break;

case "text/plain":
case "":
default:
        $filename = "unknown.txt";
        $MimeType = "text/plain";
        ShowBody();
        break;
}
exit();

function ShowBody(){
        global $CFG_TEMP,$G_DOMAIN,$G_USERNAME;
        global $MimeType,$filename;
        global $CFG_HOSTNAME,$CFG_CHARSET,$CFG_LANGUAGE;
       
        if ($filename == "unknown.html"){
                // get the body list
                $body_list = array();
                $bodylistfile = "$CFG_TEMP/$G_DOMAIN/$G_USERNAME/list_body";
                ($FD_BODYLIST = fopen("$bodylistfile","r"))        || die("Error open body list file");
                $line = fgets($FD_BODYLIST,1024);
                while( ($line = fgets($FD_BODYLIST,1024)) && !feof($FD_BODYLIST)){
                        $line = chop($line);
                        list($file,$get_Type,$size,$disposition,$id,$location) = split("\t",$line,6);
                        if ($id !="") $body_list["cid:".$id] = $file;
                        if ($location !="") $body_list[$location] = $file;
                }
                fclose($FD_BODYLIST);
//                print_r ($body_list);
        }

        $bodylistfile = "$CFG_TEMP/$G_DOMAIN/$G_USERNAME/$filename";
        ($FD_MAIL = fopen("$bodylistfile","r"))        || die("Error open body list file");
        $buff = "";
        $i = 0;
        while($line = fread($FD_MAIL,4096)){
                $buff .= $line;
        }
        if ($filename == "unknown.html"){
                        while(list($key,$value)= each ($body_list)){
                               
                                $value = "mime.php?Cmd=Show&File=$value&MimeType=$get_Type";
                                $value = rawurldecode($value);
                                $value = $CFG_HOSTNAME.$value;
                                $buff = str_replace($key,$value,$buff);
                        }
        }
       
        fclose($FD_MAIL);
       
        header("Content-type: $MimeType\n");
        header("Content-Disposition: filename=\"$filename\"\n\n");
        if( $filename=="unknown.txt" ){        //
                $buff = preg_replace("/(ftp:\/\/[\w|\.|\/|\?|\%|\&|\=|\-|\;|\,|\+|\~]+)/i","<A href=$1 target=_blank>$1</A>",$buff);
                $buff = preg_replace("/(http:\/\/[\w|\.|\/|\?|\%|\&|\=|\-|\;|\,|\+|\~]+)/i","<A href=$1 target=_blank>$1</A>",$buff);
                $buff = preg_replace("/([\w|\.|\-]+@[\w|\-|\.]+\.[a-z]+)/i","<A href=mailto1>$1</A>",$buff);
               
                $buff = str_replace("\n"," <BR>\n",$buff);
                $buff = "<HTML>
<HEAD>
<TITLE></TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=$CFG_CHARSET[$CFG_LANGUAGE]'>
<STYLE TYPE='TEXT/CSS'>
<!--
body { color:#0D4F77; font-size: 12px; line-height: 120%}
.mybody { color:#000000; font-size: 14px; line-height: 150%}
.sign { color:#cccccc; font-size: 12px; line-height: 120%}
-->
</STYLE>
</HEAD>
<BODY BGCOLOR='#FFFFFF' TEXT='#000000'>
<TABLE WIDTH='100%' BORDER='0' CELLSPACING='0' CELLPADDING='0'>
        <TR>
        <TD class='mybody'>$buff</TD>
        </TR>
</TABLE>
</BODY>
</HTML>";       
        }
        echo $buff;
}

function ShowSource(){
        global $CFG_TEMP,$G_HOME,$G_DOMAIN,$G_USERNAME,$get_Mailbox;
        global $CFG_GMT,$get_Num,$CFG_MAILBOX;
       
        $listfile = "$CFG_TEMP/$G_DOMAIN/$G_USERNAME/list_$get_Mailbox";

        ($FD_LIST = fopen($listfile,"r"))||die("Error open $get_Mailbox list file!");
        for($i=0;$i<$get_Num;$i++){
                $line = fgets($FD_LIST,1024);
        }
        fclose($FD_LIST);
        chop($line);
        list($n,$key,$isnew,$file,$fromname,$from,$subject,$date,$size) = split("\t",$line,9);
        list($null,$date) = Date2Str($date,$CFG_GMT);
       
        if($CFG_MAILBOX[$get_Mailbox]!='') $SMailbox = $CFG_MAILBOX[$get_Mailbox];
        else $SMailbox = ".$get_Mailbox";
       
        $mailfile = "$G_HOME/Maildir/$SMailbox/$isnew/$file";
        if(!file_exists($mailfile)) $mailfile = "$G_HOME/Maildir/$SMailbox/cur/$file";
        ($FD_MAIL = fopen($mailfile,"r"))        || die("Error open mail file $file!");

       
        header("Content-type: text/plain\n");
        header("Content-Disposition: filename=\"unknown.txt\"\n\n");
        $buff = "";
        while($line = fread($FD_MAIL,4096)){
                $buff .= $line;
        }
        echo $buff;
        fclose($FD_MAIL);
}

function ShowHeader(){
        global $CFG_TEMP,$G_HOME,$G_DOMAIN,$G_USERNAME,$get_Mailbox;
        global $CFG_GMT,$get_Num,$CFG_MAILBOX;
       
        $listfile = "$CFG_TEMP/$G_DOMAIN/$G_USERNAME/list_$get_Mailbox";

        ($FD_LIST = fopen($listfile,"r"))||die("Error open $get_Mailbox list file!");
        for($i=0;$i<$get_Num;$i++){
                $line = fgets($FD_LIST,1024);
        }
        fclose($FD_LIST);
        chop($line);
        list($n,$key,$isnew,$file,$fromname,$from,$subject,$date,$size) = split("\t",$line,9);
        list($null,$date) = Date2Str($date,$CFG_GMT);
       
        if($CFG_MAILBOX[$get_Mailbox]!='') $SMailbox = $CFG_MAILBOX[$get_Mailbox];
        else $SMailbox = ".$get_Mailbox";

        $mailfile = "$G_HOME/Maildir/$SMailbox/$isnew/$file";
        if(!file_exists($mailfile)) $mailfile = "$G_HOME/Maildir/$SMailbox/cur/$file";
        ($FD_MAIL = fopen($mailfile,"r"))        || die("Error open mail file $file!");

       
        header("Content-type: text/plain\n");
        header("Content-Disposition: filename=\"unknown.txt\"\n\n");
        $buff = "";
        while($line = fgets($FD_MAIL,4096)){
                if(chop($line)=="") break;
                $buff .= $line;
        }
        echo $buff;
        fclose($FD_MAIL);
}
?>
2004-12-9 03:09 PM#2
查看资料  发短消息  顶部
 
Richie.s (Richie.s)
注册会员
Rank: 2
一般会员



UID 27124
精华 0
积分 78
帖子 75
金钱 78 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-3-21
来自 深圳
状态 离线
[推荐阅读] 关于js的小问题
里面好象不能得到附件吧

里面附件的处理没看到啊
2004-12-9 03:45 PM#3
查看资料  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.042017 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP