Skip to content

Commit b1abd1c

Browse files
Merge branch 'main' of https://github.com/javanile/php-imap2 into main
2 parents 55a0149 + 387bcf8 commit b1abd1c

File tree

4 files changed

+24
-11
lines changed

4 files changed

+24
-11
lines changed

bootstrap.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,6 +836,10 @@ function imap_body($imap, $messageNum, $flags = 0)
836836
if (!function_exists('imap2_body')) {
837837
function imap2_body($imap, $messageNum, $flags = 0)
838838
{
839+
if (IMAP2_RETROFIT_MODE && is_resource($imap) && get_resource_type($imap) == 'imap') {
840+
return imap_body($imap, $messageNum, $flags);
841+
}
842+
839843
return Message::body($imap, $messageNum, $flags);
840844
}
841845
}

src/Message.php

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,22 +105,20 @@ public static function headers($imap, $messageNum, $fromLength = 0, $subjectLeng
105105
return imap_headerinfo($imap, $messageNum, $fromLength = 0, $subjectLength = 0);
106106
}
107107

108-
public static function body($imap, $messageNum, $section, $flags = 0)
108+
public static function body($imap, $messageNum, $flags = 0)
109109
{
110-
if (is_a($imap, Connection::class)) {
111-
$client = $imap->getClient();
112-
#$client->setDebug(true);
110+
if (!is_a($imap, Connection::class)) {
111+
return Errors::invalidImapConnection(debug_backtrace(), 1, false);
112+
}
113113

114-
$messages = $client->fetch($imap->getMailboxName(), $messageNum, false, ['BODY['.$section.']']);
114+
$client = $imap->getClient();
115+
#$client->setDebug(true);
115116

116-
if ($section) {
117-
return $messages[$messageNum]->bodypart[$section];
118-
}
117+
$isUid = boolval($flags & FT_UID);
119118

120-
return $messages[$messageNum]->body;
121-
}
119+
$messages = $client->fetch($imap->getMailboxName(), $messageNum, $isUid, ['BODY[TEXT]']);
122120

123-
return imap_fetchbody($imap, $messageNum, $section, $flags);
121+
return $messages[$messageNum]->bodypart['TEXT'];
124122
}
125123

126124
public static function fetchBody($imap, $messageNum, $section, $flags = 0)

tests/.env.examples

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
IMAP_MAILBOX={imap.gmail.com:993/ssl/novalidate-cert}
2+
3+
IMAP_PASSWORD=...
4+
IMAP_ACCESS_TOKEN=...

tests/CompatibilityTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,11 @@ public function testNumMsg()
597597

598598
$this->assertEquals($numMsg1, $numMsg2);
599599

600+
$lastMessageBody1 = imap_body($imap1, $numMsg1);
601+
$lastMessageBody2 = imap2_body($imap2, $numMsg2);
602+
603+
$this->assertEquals($lastMessageBody1, $lastMessageBody2);
604+
600605
imap_close($imap1);
601606
imap2_close($imap2);
602607
}
@@ -675,4 +680,6 @@ public function testPing()
675680
imap_close($imap1);
676681
imap2_close($imap2);
677682
}
683+
684+
678685
}

0 commit comments

Comments
 (0)