| | |
| | | else { |
| | | $this->body = $this->imap->get_body($uid); |
| | | } |
| | | |
| | | // notify plugins and let them analyze this structured message object |
| | | $this->app->plugins->exec_hook('message_load', array('object' => $this)); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | function first_html_part() |
| | | { |
| | | $html_part = null; |
| | | |
| | | // check all message parts |
| | | foreach ($this->mime_parts as $mime_id => $part) { |
| | | $mimetype = strtolower($part->ctype_primary . '/' . $part->ctype_secondary); |
| | | if ($mimetype == 'text/html') { |
| | | $html_part = $this->imap->get_message_part($this->uid, $mime_id, $part); |
| | | return $this->imap->get_message_part($this->uid, $mime_id, $part); |
| | | } |
| | | } |
| | | |
| | | return $html_part; |
| | | } |
| | | |
| | | |
| | |
| | | // ignore "virtual" protocol parts |
| | | else if ($primary_type == 'protocol') |
| | | continue; |
| | | |
| | | // part is Microsoft outlook TNEF (winmail.dat) |
| | | else if ($primary_type == 'application' && $secondary_type == 'ms-tnef') { |
| | | foreach ((array)$this->imap->tnef_decode($mail_part, $structure->headers['uid']) as $tnef_part) { |
| | | $this->mime_parts[$tnef_part->mime_id] = $tnef_part; |
| | | $this->attachments[] = $tnef_part; |
| | | } |
| | | } |
| | | |
| | | // part is file/attachment |
| | | else if ($mail_part->disposition == 'attachment' || $mail_part->disposition == 'inline' || |
| | |
| | | if ($mail_part->headers['content-location']) |
| | | $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; |
| | | |
| | | if ($mail_part->content_id || $mail_part->content_location) { |
| | | if ($mail_part->content_id || $mail_part->content_location) { |
| | | $this->inline_parts[] = $mail_part; |
| | | } |
| | | } |
| | | } |
| | | // is regular attachment |
| | | else { |
| | | if (!$mail_part->filename) |