Deepak Srinivasan
Deepak Srinivasan

Reputation: 774

Fetching mail from pop3 server and leaving copy in the mail server

i am using the following code fetch mail from our POP3 mail server.i have successfully fetched mails. i would like leave a copy of the mail in the server.how should i do that

    <?php
    /* connect to gmail */
    $hostname='{mail.xxx.com:110/pop3}INBOX';
    $username='[email protected]';
    $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);
        }
        }
  }

Any help is greatly appreciated.thank you

Upvotes: 1

Views: 1728

Answers (1)

Anshul
Anshul

Reputation: 1436

First of all your are using an IMAP code to fetch the mails so I assume your pop3 servers have imap service also running. And if you are using IMAP service then there is no need of explicitly doing a leave a copy of the mail in the server. the mails will remain on the server unless they are deleted or moved from folder to transh/junk.

The same holds good for POP service also. the mails will always remain on server unless you send a delete command.

Upvotes: 2

Related Questions