webForumDet fria alternativet

IMAP problem

1 svar · 495 visningar · startad av Mycodez

MycodezMedlem sedan feb. 2010445 inlägg
#1

Tjenare,
Jag sitter här och ska göra ett lite automatik skript som läser av mina gmail, sne ska jag kunna flytta dem till en ny mapp som sedan har sin undermapp, det har jag lösningen på alltså flyttningen av mailen tror jag, men det är detta med att jag ska kunna läsa av alla mailmappar som finns nu, jag har skriptet som läser ut alla mappar, men sen är jag vill jag kunna läsa mailen som är i mappen, hur gör jag detta är min kod.

<?php
$srv = '{imap.gmail.com:993/imap/ssl}';
$user = 'xxx';
$pass = 'xxx';

$conn = imap_open($srv, $user, $pass);

$boxes = imap_getmailboxes($conn, $srv, '*');
if (is_array($boxes)) {
    foreach ($boxes as $key => $val) {
        echo "($key) ";
        echo 'Boxname: '.imap_utf7_decode($val->name);
        $boxName = $val->name;
        $bos = end(explode('}', $boxName));
        $conns = imap_reopen($conn,$bos);
        if($conns)
        {
            echo 'yeah '. $boxName;
            $emails = imap_search($conn,'ALL');
            echo '<pre>'; print_r($emails); echo '</pre>';
        }
        else {
            echo 'no reopen connection';
        }
        
        echo '<hr/>    ';
         
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($conn);
?>

Rätt ny på detta med IMAP kodningen :OO
Tacksam för snabba svar :)

MycodezMedlem sedan feb. 2010445 inlägg
#2

Satt och pillade lite och kom på detta lösning kanske inte den mest optimala lösningen men gör funkar någorlunda i allafall.
Kod jag kom på

<?php
$srv = '{imap.gmail.com:993/imap/ssl}';
$user = 'xxx';
$pass = 'xxx';

$conn = imap_open($srv, $user, $pass);

$boxes = imap_getmailboxes($conn, $srv, '*');
if (is_array($boxes)) {
    foreach ($boxes as $key => $val) {
        echo "($key) ";
        echo 'Boxname: '.imap_utf7_decode($val->name);
        $boxName = $val->name;
        //$bos = end(explode('}', $boxName));
        $nc = imap_open($boxName,$user, $pass);
        if($nc)
        {
            echo 'yeah '. $boxName.'<br/>';
            $emails = imap_search($nc,'ALL');
            echo '<pre>'; print_r($emails); echo '</pre>';
            imap_close($nc);
        }
        else {
            echo 'no connection';
        }

        echo '<hr/>    ';
         
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($conn);
?>
131 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
129 ms — hämta tråd, inlägg och bilagor (db)