1

次のコードを使用して、POP3 メール サーバーからメールを取得しています。メールの取得に成功しました。 メールのコピーをサーバーに残したいのですが、どうすればよいですか

    <?php
    /* connect to gmail */
    $hostname='{mail.xxx.com:110/pop3}INBOX';
    $username='yyy.xxx@xxx.com';
    $password='xxx_9851';



    /* try to connect */
           $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
    echo "here";

    /* grab emails */
    $emails = imap_search($inbox,'SUBJECT "hi"');/* if emails are returned, cycle through each... */
    //print_r($emails);
    if($emails) {

      /* begin output var */
      $output = '';

      /* put the newest emails on top */
      rsort($emails);

      /* for every email... */
      foreach($emails as $email_number) {

        /* get information

 specific to this email */
    $overview = imap_fetch_overview($inbox,$email_number,0);
    echo "<pre>";
//  print_r($overview);
    $message = imap_fetchbody($inbox,$email_number,2);
    $header=imap_fetchheader($inbox,$email_number);
//print_r($message);
//print_r($header);
    /* output the email header information */
    $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
    $output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
    $output.= '<span class="from">'.$overview[0]->from.'</span>';
    $output.= '<span class="date">on '.$overview[0]->date.'</span>';
    $output.= '</div>';

    /* output the email body */
    $output.= '<div class="body">'.$message.'</div>';

     $s = imap_fetchstructure($inbox,$email_number);
    // print_r ($s->parts);
        if (!$s->parts) 
        {// simple
       // getpart($inbox,$email_number,$s,0);  // pass 0 as part-number
        }
        else {  // multipart: cycle through each part
        foreach ($s->parts as $partno0=>$p){
          attachment_to_file($inbox,$email_number,$p,$partno0+1);
        }
        }
  }

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

2

まず、IMAP コードを使用してメールを取得しているため、pop3 サーバーで imap サービスも実行されていると想定します。また、IMAP サービスを使用している場合は、明示的にleave a copy of the mail in the server. メールは、削除するか、フォルダーから transh/junk に移動しない限り、サーバーに残ります。

POP サービスについても同様です。削除コマンドを送信しない限り、メールは常にサーバーに残ります。

于 2013-04-05T07:10:38.477 に答える