. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Mail; use Espo\Entities\Email; use Espo\Entities\Attachment; use Espo\Core\Mail\Message\Part; use stdClass; interface Parser { public function hasHeader(Message $message, string $name): bool; public function getHeader(Message $message, string $name): ?string; public function getMessageId(Message $message): ?string; public function getAddressNameMap(Message $message): stdClass; /** * @return ?object{address: string, name: string} */ public function getAddressData(Message $message, string $type): ?object; /** * @return string[] */ public function getAddressList(Message $message, string $type): array; /** * @return Attachment[] A list of inline attachments. */ public function getInlineAttachmentList(Message $message, Email $email): array; /** * @return Part[] */ public function getPartList(Message $message): array; }