diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index d3b3986ad5a0f..be52473ff69b1 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -3726,7 +3726,8 @@ PHP_FUNCTION(imap_mail_compose) convert_to_string_ex(pvalue); bod->md5 = cpystr(Z_STRVAL_P(pvalue)); } - } else if (Z_TYPE_P(data) == IS_ARRAY && topbod->type == TYPEMULTIPART) { + } else if (Z_TYPE_P(data) == IS_ARRAY && (topbod->type == TYPEMULTIPART || + (topbod->type == TYPEMESSAGE && !strcmp(topbod->subtype, "RFC822")))) { short type = 0; SEPARATE_ARRAY(data); if ((pvalue = zend_hash_str_find(Z_ARRVAL_P(data), "type", sizeof("type") - 1)) != NULL) {