有php 接收邮件的代码吗   注意是接收哦

解决方案 »

  1.   

    利用pear读取邮件之POP3(二) <?php   
    function _log($msg)      
    {      
        if($msg != "")      
        {      
            echo $msg . "";      
            exit();      
        }      
    }          
    function retrieve_pop3_msgs($host, $port, $user, $pass ,$apop, $max_msgs)      
    {      
        include_once ('Net/POP3.php');      
        //打开一个op3连接      
        $pop3 =& new Net_POP3();      
        //设置调试模式      
        //$pop3->setDebug();      
        //连接服务器      
        if (!$pop3->connect($host, $port))      
        {      
            $m2f_error_msg = "连接POP3服务器发生错误 $host:$port";      
            _log($m2f_error_msg);      
        }         
        //登录      
        $result = $pop3->login($user, $pass , ($apop == '1' ? 'APOP' : 'USER'));      
        if (PEAR::isError($result))      
        {      
            $m2f_error_msg = '登录pop3服务器时发生错误: ' . $result->getMessage();      
            _log($m2f_error_msg);      
        }      
        //获取邮件总数      
        $total = $pop3->numMsg();      
        if ($total === false)      
        {      
            $m2f_error_msg = '接收pop邮件时发生错误';      
            _log($m2f_error_msg);      
        }      
        $total = ($max_msgs == 0) ? $total : (($max_msgs < $total) ? $max_msgs : $total);       
              
        //邮件数组      
        $mail_msgs = array();      
              
        //获取邮件      
        for ($x = 1; $x <= $total; $x++)      
        {      
            $thisMessage = $pop3->getMsg($x);      
            if ($thisMessage === false)      
            {      
                $m2f_error_msg = '接收邮件时发生错误: ' . $x;      
                _log($m2f_error_msg);      
            }      
            $mail_msgs[$x] = $thisMessage;      
        }         
        return $mail_msgs;      
    }      
    //调用, 以sohu为例       
    include_once ('Mail/mimeDecode.php');    
    $mail_msgs = retrieve_pop3_msgs('pop3.sohu.com', '110', '邮箱名', '密码', 1, 1);   
    foreach ($mail_msgs as $message_key => $raw_mail_msg)   
    {   
       $raw_mail_msg = trim($raw_mail_msg);   
       $params = array();    
       $params['include_bodies'] = TRUE;    
       $params['decode_bodies']  = TRUE;    
       $params['decode_headers'] = TRUE;    
       $params['input'] = $raw_mail_msg;      
       $structure = Mail_mimeDecode::decode($params);   
       //可以查看类实例结构   
       print_r($structure);   
    }   
    ?>  
      

  2.   

    用php接收gmail邮箱邮件的程序(本人测试过,可以正确接收邮件,不过需要IMAP模块支持):index.php<?php
    $mbox = imap_open ("{imap.gmail.com:993/imap/ssl}INBOX", "[email protected]", "password")
         or die("can't connect: " . imap_last_error());$check_array = imap_check($mbox);
    echo "当前邮件数:".$check_array->Nmsgs."<br />";
    for($i=1;$i<=$check_array->Nmsgs;$i++)
    {
        $msg_structure = imap_fetchstructure($mbox,$i);
        $foo=imap_header($mbox,$i);
        $from_array=$foo->from;
        $fr_array=$from_array[0];
        $personal = $fr_array->personal;
        $mailbox = $fr_array->mailbox;
        $host = $fr_array->host;
        $from_address=$mailbox."@".$host;
        echo "标题: <a href='showmail.php?mailid=".$i."'>".$foo->Subject." ";
        echo "发件人: $personal".$msg_structure->bytes."字节<br />";
    }
    imap_close($mbox);?>
    showmail.php<?php
    $mailid = $_REQUEST['mailid'];
    $mbox = imap_open ("{imap.gmail.com:993/imap/ssl}INBOX", "[email protected]", "password");if(!$mbox)
    {
    echo "Error on openning mailbox,Exit";
    exit();
    }
    else
    {
    $check_array = imap_check($mbox);
    if($mailid=="" || $mailid<1 || $mailid > $check_array->Nmsgs)
    {
    exit();
    } $foo=imap_header($mbox,$mailid);
    $from_array=$foo->from;
    $fr_array=$from_array[0];
    $personal = $fr_array->personal;
    $mailbox = $fr_array->mailbox;
    $host = $fr_array->host;
    $from_address=$mailbox."@".$host;
    echo "标题: ".$foo->Subject." ";
    echo "发件人: $personal $from_address";

    echo "

    正文......

    <pre>";
    $body = imap_body($mbox,$mailid);
    $body = imap_qprint($body);
    echo $body."</pre>";
    imap_close($mbox);
    }?>
      

  3.   

    我也一下,已经用phpmailer搞定发的问题了,正准备解决收的问题。
      

  4.   

    hao  ,不知道,我能否  用上  ,反正 都顶一下!