• 25-05-2021, 10:24:20
    #1
    Merhaba,
    PHP imap ile gelen kutusuna gelen mailleri listelemek istiyorum listelediğim her kayıt için veri tabanına bir kaydının oluşturulmasını istiyorum.

    Mailin başlığı, gönderen, cc, açıklama alanı, gönderme tarihi.

    İstediğim şeyi yerine getiren bir kod buldum fakat kod bloğunda içeriği çekemedim tarih, gönderen vs çekebiliyorum ama tam olarak işimi görmedi beceremedim.

    Yol gösterebilirseniz sevinirim.
    Bahsettiğim kod aşağıdaki gibidir.


    set_time_limit(4000); 
     
    // Connect to gmail
    $imapPath = '';
    $username = '';
    $password = ''
     
    // try to connect 
    $inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
     
       /* ALL - return all messages matching the rest of the criteria
        ANSWERED - match messages with the \\ANSWERED flag set
        BCC "string" - match messages with "string" in the Bcc: field
        BEFORE "date" - match messages with Date: before "date"
        BODY "string" - match messages with "string" in the body of the message
        CC "string" - match messages with "string" in the Cc: field
        DELETED - match deleted messages
        FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
        FROM "string" - match messages with "string" in the From: field
        KEYWORD "string" - match messages with "string" as a keyword
        NEW - match new messages
        OLD - match old messages
        ON "date" - match messages with Date: matching "date"
        RECENT - match messages with the \\RECENT flag set
        SEEN - match messages that have been read (the \\SEEN flag is set)
        SINCE "date" - match messages with Date: after "date"
        SUBJECT "string" - match messages with "string" in the Subject:
        TEXT "string" - match messages with text "string"
        TO "string" - match messages with "string" in the To:
        UNANSWERED - match messages that have not been answered
        UNDELETED - match messages that are not deleted
        UNFLAGGED - match messages that are not flagged
        UNKEYWORD "string" - match messages that do not have the keyword "string"
        UNSEEN - match messages which have not been read yet*/
     
    // search and get unseen emails, function will return email ids
    $emails = imap_search($inbox,'ALL');
     
    $output = '';
     
    foreach($emails as $mail) {
        
        $headerInfo = imap_headerinfo($inbox,$mail);
        
        $output .= $headerInfo->subject.'<br/>'; 
        
        $emailStructure = imap_fetchstructure($inbox,$mail);
        
        if(!isset($emailStructure->parts)) {
             $output .= imap_body($inbox, $mail, FT_PEEK); 
        } else {
            
        }
       echo "<br>";
       echo $output;
       $output = '';
    }
     
    // colse the connection
    imap_expunge($inbox);
    imap_close($inbox);
  • 25-05-2021, 10:33:39
    #2
    Üyeliği durduruldu
    https://github.com/zbateson/mail-mime-parser

    Bu kütüphaneyi kullanmanızı tavsiye ederim, işinizi ciddi anlamda kolaylaştırıyor imap ile uğraşırken. Düz IMAP ile yaparsanız mail içeriklerini parse etmek biraz uğraştırıyor. Örnek kullanıma Github sayfasından ulaşabilirsiniz.
  • 27-05-2021, 15:15:56
    #3
    Merhaba biraz göz gezdirdim fakat beceremedim doğrusu