Липсва IMAP папка за изпратени съобщения по подразбиране

Използвам отличната библиотека inbox node.js и за определени имейл акаунти не виждам някои от пощенските кутии по подразбиране, като например „Изпратени съобщения“. До голяма степен използвам примерния код такъв, какъвто е с OAUTH2;

client = inbox.createConnection(false, "imap.gmail.com", {
    secureConnection: true,
    auth: {
        XOAuth2: {
            user: account.email,
            clientId: Settings.googleApp.clientId,
            clientSecret: Settings.googleApp.secretId,
            refreshToken: refreshToken,
            accessToken: accessToken,
            timeout: expires
        }
    }
});

client.connect();

client.on("connect", function() {

    Logger.debug("Opening mailbox " + mailbox);

    self.getMailboxes(function(err, boxes){
        var boxNames = _.pluck(boxes, 'name');
        Logger.info(boxNames);
    });
}

Малко съм озадачен....


person Mike P    schedule 25.02.2014    source източник
comment
Пощенската кутия е в иерархията [Gmail] и може да бъде локализирана. На английски се нарича [Gmail]/Изпратени съобщения   -  person Max    schedule 25.02.2014
comment
След кратък поглед към документацията на входящата кутия, ще рискувам да предположа, че искате да погледнете типа на пощенската кутия. Намерете пощенската кутия с правилния тип. Какъв е правилният тип? Е, може би библиотеката е отлична, но тази документация не е;)   -  person arnt    schedule 25.02.2014
comment

Вече реших проблема. Беше малко досадно празно пространство между всяко число, "{}" трябваше да бъде "()" и пропуснах указанието за размера на масива PARAM_ARRAY.

Имах:

PARAM_ARRAY= {0, 0, 0, 0, 0, 0}

но конфигурационният файл трябва да е като:

PARAM_ARRAY=[6](0,0,0,0,0,0)

Благодаря ви все пак и се надявам това да помогне на някого в бъдеще.

  -  person Mike P    schedule 25.02.2014


Отговори (1)


Благодаря, така че в крайна сметка използвах типа (type='Sent') и повторих всички дъщерни пощенски кутии, за да извадя всички изпратени пощенски кутии, което позволява специфични за локала имена за пощенската кутия. Ето кода;

        client.listMailboxes(function(error, mailboxes){

            var _findSent = function(mailbox, callback){

                if(mailbox.hasChildren){

                    mailbox.listChildren(function(error, children){

                        var sent = [];

                        for(var i=0; i < children.length; i++){

                            if (children[i].type == 'Sent'){
                                sent.push(children[i]);
                            }
                        }

                        callback(null, sent);

                    });

                }
                else {

                    var sent = [];

                    if (mailbox.type == 'Sent'){
                        sent.push(mailbox);
                    }

                    callback(null, sent);
                }

            }


            async.map(mailboxes, _findSent, function(err, results){
                onGotSentMailboxes(_.flatten(results));
            });

        });
person Mike P    schedule 25.02.2014