src/Mail/Message.php
protected function build()
    {
        $mail = clone $this;
        $mail->setHeader('Message-ID', $this->getRandomId());

        $cursor = $mail;
        if ($mail->attachments) {
            $tmp = $cursor->setContentType('multipart/mixed');
            $cursor = $cursor->addPart();
            foreach ($mail->attachments as $value) {
                $tmp->addPart($value);
            }
        }

        if ($mail->htmlBody !== '') {
            $tmp = $cursor->setContentType('multipart/alternative');
            $cursor = $cursor->addPart();
            $alt = $tmp->addPart();
            if ($mail->inlines) {
                $tmp = $alt->setContentType('multipart/related');
                $alt = $alt->addPart();
                foreach ($mail->inlines as $value) {
                    $tmp->addPart($value);
                }
            }
            $alt->setContentType('text/html', 'UTF-8')
                ->setEncoding(\preg_match('#[^\n]{990}#', $mail->htmlBody)
                    ? self::ENCODING_QUOTED_PRINTABLE
                    : (\preg_match('#[\x80-\xFF]#', $mail->htmlBody) ? self::ENCODING_8BIT : self::ENCODING_7BIT))
                ->setBody($mail->htmlBody);
        }

        $text = $mail->getBody();
        $mail->setBody('');
        $cursor->setContentType('text/plain', 'UTF-8')
            ->setEncoding(\preg_match('#[^\n]{990}#', $text)
                ? self::ENCODING_QUOTED_PRINTABLE
                : (\preg_match('#[\x80-\xFF]#', $text) ? self::ENCODING_8BIT : self::ENCODING_7BIT))
            ->setBody($text);

        return $mail;
    }
protected function build()
    {
        $mail = clone $this;
        $mail->setHeader('Message-ID', $this->getRandomId());

        $cursor = $mail;
        if ($mail->attachments) {
            $tmp = $cursor->setContentType('multipart/mixed');
            $cursor = $cursor->addPart();
            foreach ($mail->attachments as $value) {
                $tmp->addPart($value);
            }
        }

        if ($mail->htmlBody !== '') {
            $tmp = $cursor->setContentType('multipart/alternative');
            $cursor = $cursor->addPart();
            $alt = $tmp->addPart();
            if ($mail->inlines) {
                $tmp = $alt->setContentType('multipart/related');
                $alt = $alt->addPart();
                foreach ($mail->inlines as $value) {
                    $tmp->addPart($value);
                }
            }
            $alt->setContentType('text/html', 'UTF-8')
                ->setEncoding(\preg_match('#[^\n]{990}#', $mail->htmlBody)
                    ? self::ENCODING_QUOTED_PRINTABLE
                    : (\preg_match('#[\x80-\xFF]#', $mail->htmlBody) ? self::ENCODING_8BIT : self::ENCODING_7BIT))
                ->setBody($mail->htmlBody);
        }

        $text = $mail->getBody();
        $mail->setBody('');
        $cursor->setContentType('text/plain', 'UTF-8')
            ->setEncoding(\preg_match('#[^\n]{990}#', $text)
                ? self::ENCODING_QUOTED_PRINTABLE
                : (\preg_match('#[\x80-\xFF]#', $text) ? self::ENCODING_8BIT : self::ENCODING_7BIT))
            ->setBody($text);

        return $mail;
    }
protected function build ( ) { $ mail = clone $ this ; $ mail -> setHeader ( 'Message-ID' , $ this -> getRandomId ( ) ) ; $ cursor = $ mail ; if ( $ mail -> attachments ) { $ tmp = $ cursor -> setContentType ( 'multipart/mixed' ) ; $ cursor = $ cursor -> addPart ( ) ; foreach ( $ mail -> attachments as $ value ) { $ tmp -> addPart ( $ value ) ; } } if ( $ mail -> htmlBody !== '' ) { $ tmp = $ cursor -> setContentType ( 'multipart/alternative' ) ; $ cursor = $ cursor -> addPart ( ) ; $ alt = $ tmp -> addPart ( ) ; if ( $ mail -> inlines ) { $ tmp = $ alt -> setContentType ( 'multipart/related' ) ; $ alt = $ alt -> addPart ( ) ; foreach ( $ mail -> inlines as $ value ) { $ tmp -> addPart ( $ value ) ; } } $ alt -> setContentType ( 'text/html' , 'UTF-8' ) -> setEncoding ( \ preg_match ( '#[^\n]{990}#' , $ mail -> htmlBody ) ? self :: ENCODING_QUOTED_PRINTABLE : ( \ preg_match ( '#[\x80-\xFF]#' , $ mail -> htmlBody ) ? self :: ENCODING_8BIT : self :: ENCODING_7BIT ) ) -> setBody ( $ mail -> htmlBody ) ; } $ text = $ mail -> getBody ( ) ; $ mail -> setBody ( '' ) ; $ cursor -> setContentType ( 'text/plain' , 'UTF-8' ) -> setEncoding ( \ preg_match ( '#[^\n]{990}#' , $ text ) ? self :: ENCODING_QUOTED_PRINTABLE : ( \ preg_match ( '#[\x80-\xFF]#' , $ text ) ? self :: ENCODING_8BIT : self :: ENCODING_7BIT ) ) -> setBody ( $ text ) ; return $ mail ; }
Builds email. Does not modify itself, but returns a new object.

@return static
Builds email . Does not modify itself but returns a new object .