function send(Message $message)
{
$body = $message->getBody();
$mail = $this->mailer();
$mail->From = $this->_getEmailPart($message->getFrom());
$mail->FromName = $this->_getNamePart($message->getFrom());
$mail->addAddress($this->_getEmailPart($message->getTo()), $this->_getNamePart($message->getTo()));
// Add a recipient
$mail->CharSet = 'UTF-8';
$mail->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));
if ($message->getReplyTo()) {
$mail->addReplyTo($this->_getEmailPart($message->getReplyTo()), $this->_getNamePart($message->getReplyTo()));
}
foreach ($message->getAttachments() as $key => $file) {
if (is_numeric($key)) {
$mail->addAttachment($file);
} else {
$mail->addAttachment($file, $key, 'base64', \PHPMailer::filenameToType($key));
}
}
if ($message->getHtml()) {
$mail->isHTML(true);
// Set email format to HTML
$mail->Body = $body;
$mail->AltBody = $message->getAltBody();
} else {
$mail->Body = $body;
}
$mail->Subject = $message->getSubject();
if ($message->getHeaders()) {
foreach ($message->getHeaders() as $header => $value) {
$mail->addCustomHeader($header, $value);
}
}
return $mail->send();
}