Open radenvodka opened 4 years ago
Hi @radenvodka,
Can you please provide the full error message or stacktrace?
[SOLVED]
Entire message :
0 - Message header 1 - MULTIPART/ALTERNATIVE 1.1 - TEXT/PLAIN 1.2 - TEXT/HTML 2 - file.ext
Entire message default is : 2
using : $message->body()->getMessage('1.1');
nice 👍 . closing the issue then.
can you double check?
example:
$messages = $mailbox->getMessages(); foreach ($messages as $message) { echo "Subject: " . $message->header()->get('subject');
if($message->body()->getMessage() != ''){
print_r($message->body()->getMessage() );
}
echo "\r\n";
if($message->body()->getMessage('1.1') != ''){
print_r($message->body()->getMessage() );
}
echo "\r\n";
}
Can you try this
use Clivern\Imap\MailBox;
$mailbox = new MailBox($connection);
// Get Folders
$mailbox->getFolders();
// Update Folder
$mailbox->setFolder("[Gmail]/All Mail");
// Count Messages in Current Folder
$mailbox->count();
$messages = $mailbox->getMessages();
foreach ($messages as $message) {
echo "Subject: " . $message->header()->get('subject');
echo "<br/>";
echo $message->body()->getMessage('1.1');
}
https://github.com/Clivern/Imap/blob/master/src/Core/Message/Body.php#L73
$connection = new Connection( "outlook.office365.com","993","XXXX@outlook.com","XXXX","/ssl" );
$mailbox = new MailBox($connection);
$connection->connect();
print_r($connection->check());
$arras = array('1','1.1','1.2','2');
$mailbox->setFolder("Inbox");
$messages = $mailbox->getMessages();
foreach ($messages as $message) {
foreach ($arras as $key => $options) {
echo "[+] Check Message Type ".$options."\r\n";
preg_match_all('/\[xxx(.*?)\]/m', $message->body()->getMessage($options) , $mau);
if($mau[1][0]){
echo "[+][INBOX YAHOO] Subject ".$message->header()->get('subject')."\r\n";
$message->action()->delete();
break;
}
if($options >= 2){
$message->action()->delete();
}
}
}
not all messages are read with Entire message = 2 so the solution is as above.
failed to read Content-Transfer-Encoding: base64 message