/** * * @param array $o * @throws InvalidArgumentException * @return multitype:NULL string |multitype:NULL |number * */ public function sendBasic(smMailMessage $smMailMessage, array $options) { $this->smMailMessage = $smMailMessage; $message = Swift_Message::newInstance(); $this->setSMTPData($message, $options['account']); $this->feedAddress($message, 'to', $this->smMailMessage->to); $this->feedAddress($message, 'cc', $this->smMailMessage->cc); $this->feedAddress($message, 'bcc', $this->smMailMessage->bcc); $message->setFrom(array($smMailMessage->from => $smMailMessage->fromName ? $smMailMessage->fromName : $this->from)); $message->setSender($smMailMessage->sender); $message->addReplyTo($this->smMailMessage->replyTo); $message->setSubject($smMailMessage->subject); $headers = $message->getHeaders(); if (count($this->customheaders) > 0) { foreach ($this->customheaders as $kc => $vc) { $headers->addTextHeader(array($kc, $vc)); } } foreach ($smMailMessage->attachments as $k => $v) { $message->attach(Swift_Attachment::fromPath($v)); } $type = $message->getHeaders()->get('Content-Type'); $type->setValue('text/html'); $type->setParameter('charset', $this->charset); $message->setBody($smMailMessage->HTMLBody)->addPart($smMailMessage->HtmlToTextBody()); $success = $this->mailer->send($message, $error) > 0; return array('success' => $success, 'mailStream' => $success ? $message->toString() : null, 'error' => $error); }