示例#1
0
def listmailbox(request, defmailbox="INBOX", update_session=True):
    """Mailbox content listing

    Return a list of messages contained in the specified mailbox. The
    number of elements returned depends on the ``MESSAGES_PER_PAGE``
    parameter. (user preferences)

    :param request: a ``Request`` object
    :param defmailbox: the default mailbox (when not present inside request arguments)
    :return: a dictionnary
    """
    mbox = request.GET.get("mbox", defmailbox)
    if update_session:
        set_nav_params(request)
        request.session["mbox"] = mbox

    lst = ImapListing(request.user,
                      request.session["password"],
                      baseurl="?action=listmailbox&mbox=%s&" % mbox,
                      folder=mbox,
                      elems_per_page=int(
                          parameters.get_user(request.user,
                                              "MESSAGES_PER_PAGE")),
                      **request.session["navparams"])
    return lst.render(request, request.session["pageid"])