Laravel PHP Imap get message body

I am connection to a mailbox and getting header information for each message like this:

$mailbox = new PhpImapMailbox(
    env('MAIL_IMAP_PATH') . env('MAIL_FOLDER'), // IMAP server and mailbox folder
    env('MAIL_LOGIN'), // Username for the before configured mailbox
    env('MAIL_PASSWORD') // Password for the before configured username
);
$mailsIds = $mailbox->searchMailbox('ALL');
foreach($mailsIds as $mail_elem) {
    $mail = $mailbox->getMail($mail_elem);
}

getMail gives me all the header infos without the body. I have checked now every single method which exists on $mailbox-> and there is no way to get the body. What am I doing wrong here?


Second approach is to use the stream from imap_open() and imap_fetchbody(). This feels more like a workarround because I connect a second time to the mailbox, but is also does not work:

foreach($mailsIds as $mail_elem) {
    $imap_stream = imap_open(env('MAIL_IMAP_PATH') . env('MAIL_FOLDER'),
                        env('MAIL_LOGIN'), env('MAIL_PASSWORD'));
    $message = imap_fetchbody($imap_stream, $mail_elem, 1.1);
}

I am getting an error:

imap_fetchbody(): Bad message number

Someone has an idea what is going on?