private Mailbox mailbox(String name, boolean create) { return mailbox(name, create, true); }
private Mailbox mailbox(String name, boolean create, boolean throwexn) {
if (name.equalsIgnoreCase("inbox")) return inbox;
+ if (name.equalsIgnoreCase("trash")) name = "trash";
MailTree mt = mailboxTree(name, create, throwexn);
+ /* FIXME: throw throwexn here
+ if (mt==null || mt.getMailbox()==null)
+ Log.error("mt==null", name);
+ */
return mt==null ? null : mt.getMailbox();
}
private MailTree mailboxTree(String name, boolean create) { return mailboxTree(name, create, true); }
public void fetch(Query q, int spec, String[] headers, int start, int end, boolean uid) {
for(Mailbox.Iterator it = selected().iterator(q); it.next(); ) {
- Message message = ((spec & (BODYSTRUCTURE | ENVELOPE | INTERNALDATE | FIELDS | FIELDSNOT | RFC822 |
+ Message message =
+ ((spec & (BODYSTRUCTURE | ENVELOPE | INTERNALDATE | FIELDS | FIELDSNOT | RFC822 |
RFC822TEXT | RFC822SIZE | HEADERNOT | HEADER)) != 0) ? it.cur() : null;
long size = message == null ? 0 : message.getLength();
client.fetch(it.imapNumber(), it.getFlags(), (int)size, message, it.uid());