Mercurial > dovecot > core-2.2
changeset 11337:4ec22f3bfd9f HEAD
doveadm fetch: Added support for imap.envelope, imap.body and imap.bodystructure fields.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 19 May 2010 17:44:56 +0200 |
parents | 2587eb79a83d |
children | 098f517e902c |
files | src/doveadm/doveadm-mail-fetch.c |
diffstat | 1 files changed, 34 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-fetch.c Wed May 19 17:35:27 2010 +0200 +++ b/src/doveadm/doveadm-mail-fetch.c Wed May 19 17:44:56 2010 +0200 @@ -218,6 +218,36 @@ return 0; } +static int fetch_imap_envelope(struct fetch_cmd_context *ctx) +{ + const char *value; + + if (mail_get_special(ctx->mail, MAIL_FETCH_IMAP_ENVELOPE, &value) < 0) + return -1; + str_append(ctx->hdr, value); + return 0; +} + +static int fetch_imap_body(struct fetch_cmd_context *ctx) +{ + const char *value; + + if (mail_get_special(ctx->mail, MAIL_FETCH_IMAP_BODY, &value) < 0) + return -1; + str_append(ctx->hdr, value); + return 0; +} + +static int fetch_imap_bodystructure(struct fetch_cmd_context *ctx) +{ + const char *value; + + if (mail_get_special(ctx->mail, MAIL_FETCH_IMAP_BODYSTRUCTURE, &value) < 0) + return -1; + str_append(ctx->hdr, value); + return 0; +} + struct fetch_field { const char *name; enum mail_fetch_field wanted_fields; @@ -239,7 +269,10 @@ { "size.virtual", MAIL_FETCH_VIRTUAL_SIZE, fetch_size_virtual }, { "date.received", MAIL_FETCH_RECEIVED_DATE, fetch_date_received }, { "date.sent", MAIL_FETCH_DATE, fetch_date_sent }, - { "date.saved", MAIL_FETCH_SAVE_DATE, fetch_date_saved } + { "date.saved", MAIL_FETCH_SAVE_DATE, fetch_date_saved }, + { "imap.envelope", MAIL_FETCH_IMAP_ENVELOPE, fetch_imap_envelope }, + { "imap.body", MAIL_FETCH_IMAP_BODY, fetch_imap_body }, + { "imap.bodystructure", MAIL_FETCH_IMAP_BODYSTRUCTURE, fetch_imap_bodystructure } }; static const struct fetch_field *fetch_field_find(const char *name)