const char *error, *errormsg = NULL, *bpstruct = NULL;
enum mail_error error_code;
struct imap_msgpart_url *mpurl = NULL;
+ bool utf8 = HAS_ALL_BITS(url_flags, IMAP_URLAUTH_FETCH_FLAG_UTF8);
+ enum imap_quote_flags qflags = (utf8 ? IMAP_QUOTE_FLAG_UTF8 : 0);
int ret;
bool success = TRUE;
imap_msgpart_url_set_decode_to_binary(mpurl);
if (success &&
(url_flags & IMAP_URLAUTH_FETCH_FLAG_BODYPARTSTRUCTURE) != 0) {
- ret = imap_msgpart_url_get_bodypartstructure(mpurl, 0,
+ ret = imap_msgpart_url_get_bodypartstructure(mpurl, qflags,
&bpstruct, &error);
if (ret <= 0) {
errormsg = t_strdup_printf(
IMAP_URLAUTH_FETCH_FLAG_BINARY = 0x04,
/* Fetch IMAP bodypartstructure */
IMAP_URLAUTH_FETCH_FLAG_BODYPARTSTRUCTURE = 0x08,
+ /* IMAP UTF8 extensions active */
+ IMAP_URLAUTH_FETCH_FLAG_UTF8 = 0x10,
};
struct imap_urlauth_fetch_reply {