예제 #1
0
 /**
  *
  * @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);
 }