public static function fromData($attachments = [], $content = '', $html = false) { $mail = new Mail(); $mail->charset = 'UTF-8'; $mail->contenttype = $html ? 'text/html' : 'text/plain'; $mail->encoding = 'quoted-printable'; $mail->text = $html ? null : $mail; $mail->html = $html ? $mail : null; $mail->setEncoded($html ? trim($content) : rtrim($content)); if ($attachments) { $mail_multi = new Mail(); $mail_multi->boundary = uniqid('', true); $mail_multi->contenttype = 'multipart/mixed'; $mail_multi->text = $mail->text; $mail_multi->html = $mail->html; foreach ($attachments as $attach) { list($filename, $contenttype, $content) = $attach; $mail_attach = new Part(); if (strpos($contenttype, 'text/') === 0) { $mail_attach->charset = 'UTF-8'; $mail_attach->encoding = 'quoted-printable'; } else { $contenttype == '' and $contenttype = 'application/octet-stream'; $mail_attach->encoding = 'base64'; } $mail_attach->contenttype = $contenttype; $mail_attach->disposition = 'attachment'; $mail_attach->filename = $filename; $mail_attach->setEncoded($content); $mail_multi->attachments[] = $mail_attach; } $mail = $mail_multi; } return $mail; }