/** * @param string $from * @param string $name * @param string | \Zend\View\Model\ViewModel $body * @param \Zend\View\Renderer\RendererInterface $renderer */ public function __construct($from = "", $name = "", RendererInterface $renderer = null) { $this->message = new Message(); $this->message->setEncoding(self::DEFAULT_CHARSET); if ($from) { $this->message->setFrom($from, $name); } $this->renderer = $renderer; }
/** * Build Message * * @return MailMessage */ public function buildMessage() { // prepare html body $htmlBody = $this->renderer->render($this->viewModel); // prepare text body $textBody = $this->buildTextBody($htmlBody); // prepare subject $subject = $this->buildSubject($htmlBody); // prepare html part $htmlPart = new MimePart($this->buildHtmlHeader() . $htmlBody . $this->buildHtmlFooter()); $htmlPart->type = 'text/html'; // prepare text part $textPart = new MimePart($textBody); $textPart->type = 'text/plain'; // prepare mime message $mailBody = new MimeMessage(); $mailBody->setParts(array($textPart, $htmlPart)); // prepare message $this->message = new MailMessage(); $this->message->setEncoding($this->encoding); $this->message->setFrom($this->senderMail, $this->senderName); $this->message->setSubject($subject); $this->message->setBody($mailBody); // return mailer return $this; }
static function sendEmail($emailTo, $emailFrom, $subject, $body, $transport) { $message = new Message(); $message->setEncoding('UTF-8')->addTo($emailTo)->addFrom($emailFrom)->setSubject($subject)->setBody($body); $transport->send($message); return; }
public function submitAction() { $result = ""; $contact = $this->params()->fromPost(); $captcha = new Captcha(array('name' => 'captcha', 'wordLen' => 6, 'timeout' => 600)); if ($captcha->isValid($_POST['captcha'], $_POST)) { unset($contact['submit']); $contact = array_filter($contact); if ($contact && is_array($contact)) { $mail = new Mail\Message(); $html = '<p>Contact from Kingsy.co.uk</p><p>=-=-=-=-=-=-=-=-=-=-=-=-=-=</p><p><span></span>From: <span>' . $contact["name"] . '</span></p><p><span></span>Email: <span>' . $contact["email"] . '</span></p><p><span></span>Content<p>' . $contact["content"] . '</p></p>'; $mail->setFrom('*****@*****.**', 'Contact Form - Kingsy.co.uk')->addTo("*****@*****.**")->setSubject('Contacted'); $bodyPart = new MimeMessage(); $bodyMessage = new MimePart($html); $bodyMessage->type = 'text/html'; $bodyPart->setParts(array($bodyMessage)); $mail->setBody($bodyPart); $mail->setEncoding('UTF-8'); try { $transport = new Mail\Transport\Sendmail(); $transport->send($mail); $result = true; } catch (Exception $e) { print_r($e); } } else { $result = false; } } else { $result = false; } return new ViewModel(array('result' => $result)); }
public function send($fromAddress, $fromName, $replyToAddress, $replyToName, $toAddress, $toName, $subject, array $mimeParts) { $mail = new Message(); if ($fromAddress && $fromName) { $mail->setFrom($fromAddress, $fromName); } else { if ($fromAddress) { $mail->setFrom($fromAddress); } } if ($replyToAddress && $replyToName) { $mail->setReplyTo($replyToAddress, $replyToName); } else { if ($replyToAddress) { $mail->setReplyTo($replyToAddress); } } if ($toAddress && $toName) { $mail->setTo($toAddress, $toName); } else { if ($toAddress) { $mail->setTo($toAddress); } } $mail->setSubject($subject); $mail->setEncoding('utf-8'); $mime = new MimeMessage(); $mime->setParts($mimeParts); $mail->setBody($mime); $this->mailTransport->send($mail); $this->getEventManager()->trigger('send', $mail); }
public function send(SmtpTransport $transport = null, Message $message, array $attachments = array()) { if ($transport == null) { $transport = new Sendmail(); } $content = $message->getBody(); $parts = $attachments; $parts = array(); $bodyMessage = new \Zend\Mime\Message(); $multiPartContentMessage = new \Zend\Mime\Message(); $text = new Part(html_entity_decode(strip_tags(str_replace("<br />", "\n", $content)))); $text->type = "text/plain"; $text->encoding = Mime::ENCODING_QUOTEDPRINTABLE; $text->charset = 'UTF-8'; $multiPartContentMessage->addPart($text); $html = new Part($content); $html->type = Mime::TYPE_HTML; $html->encoding = Mime::ENCODING_QUOTEDPRINTABLE; $html->charset = 'utf-8'; $multiPartContentMessage->addPart($html); $multiPartContentMimePart = new Part($multiPartContentMessage->generateMessage()); $multiPartContentMimePart->type = 'multipart/alternative;' . PHP_EOL . ' boundary="' . $multiPartContentMessage->getMime()->boundary() . '"'; $bodyMessage->addPart($multiPartContentMimePart); foreach ($attachments as $attachment) { $bodyMessage->addPart($attachment); } $message->setBody($bodyMessage); $message->setEncoding("UTF-8"); $transport->send($message); }
public function setEncoding($encoding = null) { if ($encoding == null) { $encoding = $this->mailMessageConfigObj->getEncoding(); } parent::setEncoding($encoding); return $this; }
protected function sendMessage() { $oMessage = new Message(); $oMessage->setEncoding('UTF-8')->addFrom($this->_sFrom)->addTo($this->_sEmailAddress)->setSubject($this->_sSubject)->setBody($this->_oBody); $oHeaders = $oMessage->getHeaders(); $oHeaders->removeHeader('Content-Type'); $oHeaders->addHeaderLine('Content-Type', 'text/html; charset=UTF-8'); $this->_oTransport->send($oMessage); $this->clearAll(); }
/** * @group ZF2-507 */ public function testDefaultDateHeaderEncodingIsAlwaysAscii() { $this->message->setEncoding('utf-8'); $headers = $this->message->getHeaders(); $header = $headers->get('date'); $date = date('r'); $date = substr($date, 0, 16); $test = $header->getFieldValue(); $test = substr($test, 0, 16); $this->assertEquals($date, $test); }
/** * Get a blank email message object. * * @return Message */ public function getNewMessage() { $message = new Message(); $message->setEncoding('UTF-8'); $headers = $message->getHeaders(); $ctype = new ContentType(); $ctype->setType('text/plain'); $ctype->addParameter('charset', 'UTF-8'); $headers->addHeader($ctype); return $message; }
/** * @param string $tpl * @param array $data * @return Message */ public function getMessage($tpl, array $data) { $mail = new Message(); $mail->setEncoding('UTF-8'); if (isset($data['encoding'])) { $mail->setEncoding($data['encoding']); } if (isset($data['from_address'])) { if (isset($data['from_name'])) { $mail->setFrom($data['from_address'], $data['from_name']); } else { $mail->setFrom($data['from_address']); } } if (isset($data['to'])) { if (isset($data['to_name'])) { $mail->setTo($data['to'], $data['to_name']); } else { $mail->setTo($data['to']); } } if (isset($data['cc'])) { $mail->setCc($data['cc']); } if (isset($data['bcc'])) { $mail->setBcc($data['bcc']); } if (isset($data['subject'])) { $mail->setSubject($data['subject']); } if (isset($data['sender'])) { $mail->setSender($data['sender']); } if (isset($data['replyTo'])) { $mail->setReplyTo($data['replyTo']); } $content = $this->renderMail($tpl, $data); $mail->setBody($content); $mail->getHeaders()->addHeaderLine('Content-Type', 'text/html; charset=UTF-8')->addHeaderLine('Content-Transfer-Encoding', '8bit'); return $mail; }
/** * @param TodoWasMarkedAsExpired $event * @return void */ public function __invoke(TodoWasMarkedAsExpired $event) { $todo = $this->todoFinder->findById($event->todoId()->toString()); $user = $this->userFinder->findById($todo->assignee_id); $message = sprintf('Hi %s! Just a heads up: your todo `%s` has expired on %s.', $user->name, $todo->text, $todo->deadline); $mail = new Mail\Message(); $mail->setBody($message); $mail->setEncoding('utf-8'); $mail->setFrom('*****@*****.**', 'Proophessor-do'); $mail->addTo($user->email, $user->name); $mail->setSubject('Proophessor-do Todo expired'); $this->mailer->send($mail); }
/** * Create record feedback form and send feedback to correct recipient. * * @return mixed * @throws \Exception */ public function feedbackAction() { $view = $this->createViewModel(); if ($this->formWasSubmitted('submitFeedback')) { $flashMsg = $this->flashMessenger(); $message = $this->params()->fromPost('feedback_message'); $senderEmail = $this->params()->fromPost('from'); $validator = new \Zend\Validator\EmailAddress(); if (!$validator->isValid($senderEmail)) { $flashMsg->setNamespace('error')->addMessage('Email address is invalid'); return $view; } $driver = $this->loadRecord(); $dataSource = $driver->getDataSource(); $dataSources = $this->getServiceLocator()->get('VuFind\\Config')->get('datasources'); $inst = isset($dataSources->{$dataSource}) ? $dataSources->{$dataSource} : null; $recipientEmail = isset($inst->feedbackEmail) ? $inst->feedbackEmail : null; if ($recipientEmail == null) { throw new \Exception('Feedback Module Error:' . 'Recipient Email Unset (see datasources.ini)'); } $emailSubject = $this->translate('feedback_on_record', ['%%record%%' => $driver->getBreadcrumb()]); $serverUrl = $this->getRequest()->getServer('REQUEST_SCHEME'); $serverUrl .= '://' . $this->getRequest()->getServer('HTTP_HOST'); $emailMessage = "\n" . $this->translate('This email was sent from'); $emailMessage .= ": " . $senderEmail . "\n"; $emailMessage .= "------------------------------------------------------------\n"; $emailMessage .= $this->getViewRenderer()->partial('RecordDriver/SolrDefault/result-email.phtml', ['driver' => $driver, 'info' => ['baseUrl' => $serverUrl]]); $emailMessage .= "------------------------------------------------------------\n"; if (!empty($message)) { $emailMessage .= "\n" . $this->translate('Message From Sender') . ":\n"; $emailMessage .= "\n" . $message . "\n\n"; } // This sets up the email to be sent $mail = new Mail\Message(); $mail->setEncoding('UTF-8'); $mail->setBody($emailMessage); $mail->setFrom($senderEmail); $mail->addTo($recipientEmail); $mail->setSubject($emailSubject); $headers = $mail->getHeaders(); $headers->removeHeader('Content-Type'); $headers->addHeaderLine('Content-Type', 'text/plain; charset=UTF-8'); $this->getServiceLocator()->get('VuFind\\Mailer')->getTransport()->send($mail); if (!$this->inLightbox()) { $flashMsg->setNamespace('info')->addMessage('Thank you for your feedback'); $this->redirectToRecord(''); } } return $view; }
public function addMail($to, $from, $subject, $body) { $message = new Message(); $bodyPart = new MimeMessage(); $bodyMessage = new MimePart($body); $bodyMessage->type = 'text/html'; $bodyMessage->charset = 'UTF-8'; $bodyPart->setParts([$bodyMessage]); $message->setFrom($from); $message->addTo($to); $message->setEncoding("UTF-8"); $message->setSubject($subject); $message->setBody($bodyPart); $message->type = 'text/html'; $this->queue[] = $message; }
public function send() { $this->initialise(); $body = new MimeMessage(); $htmlPart = new MimePart($this->body); $htmlPart->type = "text/html"; $partArray = array($htmlPart); $body->setParts($partArray); $message = new Mail\Message(); $message->setFrom($this->from); $message->addTo($this->to); $message->setSubject($this->subject); $message->setEncoding("UTF-8"); $message->setBody($body); $transport = $this->getTransport(); $transport->send($message); }
public function sendMail($email, $fullname, $linkActive) { $message = new \Zend\Mail\Message(); $smtpOption = new SmtpOptions($this->_config); $message->setFrom($this->_config['connectionConfig']['username'], "bookStoreOnline"); $message->setTo($email, $fullname); $message->setSubject("Kích hoạt tài khoản"); $message->setEncoding("utf-8"); //set HTML $content = new \Zend\Mime\Part("<p>Xin chào " . $fullname . "</p> \n\t\t\t<p>Bạn vừa đăng ký tài khoản tại website BookOnline,\n\t\t\tđể hoàn thành việc đăng ký bạn cui lòng <a href='" . $linkActive . "'>Click vào đây</a>\n\t\t\tđể kích hoạt tài khoản</p>"); $content->type = Mime::TYPE_HTML; $content->charset = "utf-8"; $mimeMessage = new \Zend\Mime\Message(); $mimeMessage->setParts(array($content)); $message->setBody($mimeMessage); $transport = new \Zend\Mail\Transport\Smtp($smtpOption); $transport->send($message); }
function send($to, $subject, $html, $ical = null) { $message = new Message(); $message->addTo($to)->addFrom('*****@*****.**')->setSubject($subject); $bodyPart = new \Zend\Mime\Message(); $bodyMessage = new \Zend\Mime\Part($html); $bodyMessage->type = 'text/html'; $parts = array($bodyMessage); if ($ical) { $icalMessage = new \Zend\Mime\Part($ical); $icalMessage->type = 'text/calendar'; $parts = array_merge($parts, array($icalMessage)); } $bodyPart->setParts($parts); $message->setBody($bodyPart); $message->setEncoding('UTF-8'); $this->transport->send($message); }
public function enviar() { $body = $this->assunto; $htmlPart = new MimePart($body); $htmlPart->type = "text/html"; $textPart = new MimePart($body); $textPart->type = "text/plain"; $body = new MimeMessage(); $body->setParts(array($textPart, $htmlPart)); $message = new Mail\Message(); $message->setFrom($this->rementente); $message->addTo($this->destinatario); $message->setSubject($this->titulo); $message->setEncoding("UTF-8"); $message->setBody($body); $message->getHeaders()->get('content-type')->setType('multipart/alternative'); $transport = new Mail\Transport\Sendmail(); $transport->send($message); }
private function sendEmail($destino, $subject, $body) { try { $trans = new SmtpTransport(); $msg = new Message(); $qb = $this->getEntityManager()->getRepository("Application\\Entity\\Email")->createQueryBuilder('e'); $emails = $qb->select()->getQuery()->getResult(); $email = $emails[0]; $options = new SmtpOptions(array('name' => $email->getEmailSmtp(), 'host' => $email->getEmailSmtp(), 'port' => 587, 'connection_class' => 'login', 'connection_config' => array('username' => $email->getEmailUsername(), 'password' => $email->getEmailPassword(), 'ssl' => 'tls'))); $msg->addFrom($email->getEmailUsername())->addTo($destino)->setsubject($subject); $msg->setBody($body); $msg->setEncoding("UTF-8"); $trans->setOptions($options); $trans->send($msg); } catch (Exception $e) { $this->flashMessenger()->addErrorMessage("Falha ao enviar email"); } return $this->redirect()->toRoute("questions-list"); }
public function sendMail() { if (false === $this->checkMailValidity()) { throw new \InvalidArgumentException('E-Mail can not be sent as the required fields where not filled in.'); } $mimeBody = new MimeMessage(); if ($this->mailBodyHtml instanceof ViewModel) { $htmlBodyPart = new MimePart($this->createBodyFromViewModel($this->mailBodyHtml)); $htmlBodyPart->charset = $this->mailCharset; $htmlBodyPart->encoding = $this->mailEncoding; $htmlBodyPart->type = 'text/html'; $mimeBody->addPart($htmlBodyPart); } if ($this->mailBodyText instanceof ViewModel) { $textBodyPart = new MimePart($this->createBodyFromViewModel($this->mailBodyText)); $textBodyPart->charset = $this->mailCharset; $textBodyPart->encoding = $this->mailEncoding; $textBodyPart->type = 'text/plain'; $mimeBody->addPart($textBodyPart); } $mailMessage = new MailMessage(); $mailMessage->setBody($mimeBody); $mailMessage->setEncoding($this->mailEncoding); $mailMessage->setFrom($this->mailFrom); $mailMessage->setSender($this->mailFrom); $mailMessage->setTo($this->mailTo); if ($this->mailBcc != '') { $mailMessage->setBcc($this->mailBcc); } if ($this->mailCc != '') { $mailMessage->setCc($this->mailCc); } $mailMessage->setSubject($this->mailSubject); if (2 <= count($mimeBody->getParts())) { $mailMessage->getHeaders()->get('content-type')->setType('multipart/alternative'); } try { $this->transport->send($mailMessage); return true; } catch (\Exception $e) { throw new \Exception($e); } }
/** * * @param Message $message * @return ZendMessage */ public static function convert(Message $message) { $mailMessage = new ZendMessage(); $mailMessage->setSubject($message->getSubject()); $mailMessage->setFrom($message->getFrom()); $mailMessage->setTo($message->getTo()); $mailMessage->setCc($message->getCc()); $mailMessage->setBcc($message->getBcc()); $mailMessage->setReplyTo($message->getReplyTo()); $mailMessage->getHeaders()->addHeaders($message->getHeaders()); if ($mailMessage->getSender()) { $mailMessage->setSender($message->getSender()); } if ($message->isMultipart()) { $mimePart = new MimeMessage(); if ($message->getBodyHtml()) { $part = new Part($message->getBodyHtml()); $part->charset = $message->getCharset(); $part->encoding = $message->getEncoding(); $part->type = Mime::TYPE_HTML; $mimePart->addPart($part); } if ($message->getBodyText()) { $part = new Part($message->getBodyText()); $part->charset = $message->getCharset(); $part->encoding = $message->getEncoding(); $part->type = Mime::TYPE_TEXT; $mimePart->addPart($part); } foreach ($message->getAttachments() as $attachment) { $mimePart->addPart($attachment->asMimePart()); } foreach ($message->getParts() as $part) { $mimePart->addPart($part); } $mailMessage->setBody($mimePart); } else { $mailMessage->getHeaders()->addHeaderLine('Content-Type', $message->getContentType()); $mailMessage->setEncoding($message->getEncoding()); $mailMessage->setBody($message->getFilledBody()); } return $mailMessage; }
public function indexAction() { $config = $this->getServiceLocator()->get('Config'); // Setup SMTP transport using LOGIN authentication $transport = new SmtpTransport(); $options = new SmtpOptions(array('name' => 'gmail', "host" => "smtp.gmail.com", "port" => 587, "connection_class" => "plain", "connection_config" => array("username" => "*****@*****.**", "password" => "noeliabelen", "ssl" => "tls"))); $transport->setOptions($options); $message = new Message(); $message->addFrom("*****@*****.**", "Tineo")->addTo("*****@*****.**")->setSubject("Sending an email from Zend\\Mail!"); $message->setBody("This is the message body."); $message->setEncoding("UTF-8"); $transport = new SmtpTransport(); $transport->setOptions($options); // $transport->send($message); // $translator = $this->getServiceLocator ()->get ( 'translator' ); // $translator->setLocale ( "en_US" ); // $config['translator']['locale'] = "En_US" ; // var_dump($config['translator']['locale']); return new ViewModel(); }
/** * Contact page * * @author Stoyan Rangelov * @param array $data * @return integer|array */ public function contactPage(array $data) { //Input filters $inputFilter = new \Common\InputFilter\Contact(); $customFilter = $inputFilter->contactPageEmail(); $inputFilter->setInputFilter($customFilter); $filter = $inputFilter->getInputFilter(); $filter->setData($data); if ($filter->isValid()) { $from = $this->getSenderEmail(); $to = $this->getReceiverEmail(); $subject = "You have message from the contact form"; $htmlBody = "Hello Incoverage Team<br /> \n <b>{$data['email']}</b>\n <br />\n <b>{$data['name']} wrote:</b>\n <hr />\n {$data['message']}\n <br /> "; if (isset($data['phone'])) { $htmlBody .= "<hr /> phone: {$data['phone']}"; } $textBody = ""; $htmlPart = new MimePart($htmlBody); $htmlPart->type = "text/html; charset=UTF-8"; $textPart = new MimePart($textBody); $textPart->type = "text/plain; charset=UTF-8"; $body = new MimeMessage(); $body->setParts(array($textPart, $htmlPart)); $message = new Mail\Message(); $message->setFrom($from)->addTo($to)->setSubject($subject); $message->setEncoding("UTF-8"); $message->setBody($body); $transport = new SmtpTransport(); if ($this->getDefaultConfig()['user_module']['using_gmail']) { $transport->setOptions($this->getSMTPOptions()); } $transport->send($message); $result = array(); $result['status_code'] = 201; return $result; } else { return $this->getErrorMessages($filter); } }
public function send($email, $subject, $content, $url = null) { $view = new ViewModel(); $view->setTemplate('email/common'); $view->setVariables(array('title' => $subject, 'content' => $content, 'url' => $url)); $viewRender = $this->getServiceLocator()->get('ViewRenderer'); $htmlBody = $viewRender->render($view); $htmlPart = new MimePart($htmlBody); $htmlPart->type = Mime::TYPE_HTML; $body = new MimeMessage(); $body->setParts(array($htmlPart)); $message = new Message(); $message->setEncoding("UTF-8"); $fromEmail = $this->config['transport']['options']['connection_config']['username']; $message->addFrom($fromEmail, "e财会")->addTo($email)->setSubject($subject); $message->setBody($body); // Set UTF-8 charset $headers = $message->getHeaders(); $headers->removeHeader('Content-Type'); $headers->addHeaderLine('Content-Type', 'text/html; charset=UTF-8'); $this->smtp->send($message); }
/** * @param string $queue_name * @param string $to * @param string $subject * @param string $body * @param null $from * @param true $html */ public function addMail($queue_name, $to, $subject, $body, $from = null, $html = false) { $message = new \Zend\Mail\Message(); $message->setTo($to); $message->setSubject($this->translate ? $this->translate->translate($subject) : $subject); if ($html) { $bodyPart = new \Zend\Mime\Message(); $bodyMessage = new \Zend\Mime\Part($body); $bodyMessage->type = 'text/html'; $bodyPart->setParts(array($bodyMessage)); $message->setBody($bodyPart); } else { $message->setBody($body); } $message->setEncoding("UTF-8"); if ($from) { $message->setFrom($from); } else { $message->setFrom($this->config['default_from']); } $this->table->add($queue_name, $message); }
public function send($data = array(), $viewModel) { if ($viewModel instanceof ModelInterface) { $body = $this->renderModel($viewModel); } elseif (is_string($viewModel)) { $body = $this->renderText($viewModel); } else { throw new \Exception('Invalid viewModel for mail body'); } $text = new MimePart(''); $text->type = "text/plain"; $html = new MimePart($body); $html->type = "text/html"; $body_html = new MimeMessage(); $body_html->setParts(array($text, $html)); $mail = new Mail\Message(); $mail->setEncoding("UTF-8"); $mail->setBody($body_html); $mail->setFrom($this->_from_mail, $this->_from_name); $mail->addTo($data['to']); if (isset($data['cc'])) { $mail->addCc($data['cc']); } if (isset($data['bcc'])) { $mail->addBcc($data['bcc']); } if (isset($data['replyTo'])) { $mail->addReplyTo($data['replyTo'], $data['replyNameTo']); } else { $mail->addReplyTo($this->_from_mail, $this->_from_name); } if (isset($data['dkimSign'])) { $signer = $this->getController()->getServiceLocator()->get('DkimSigner'); $signer->signMessage($mail); } $mail->setSubject($data['subject']); return $this->_transport->send($mail); }
/** * @param UserInterface $user * @return Message */ protected function getMessage(UserInterface $user) { // Emailing logic here $content = $this->renderMessageContent($user); $htmlPart = new MimePart($content); $htmlPart->type = "text/html"; $textPart = new MimePart($content); $textPart->type = "text/plain"; $body = new MimeMessage(); $body->setParts(array($textPart, $htmlPart)); $message = new Message(); $message->addFrom($this->getOptions()->get('from_email'), $this->getOptions()->get('from_name')); $message->addTo($user->getEmail(), $user->getFirstName() . ' ' . $user->getLastName()); $ccs = $this->getOptions()->get('copy_to', array()); foreach ($ccs as $cc) { $message->addCc($cc); } $message->setSubject($this->getOptions()->get('reset_subject', 'Please Reset Your Password')); $message->setEncoding("UTF-8"); $message->setBody($body); $message->getHeaders()->get('content-type')->setType('multipart/alternative'); return $message; }
/** * @param string $to * @param string $toName * @param string $subject * @param string $message * @param string $from * @param string $fromName * * @return bool|FlashMessenger */ public function sendMail($to, $toName, $subject, $message, $from, $fromName) { $transport = new SmtpTransport(); $options = new SmtpOptions(['host' => $this->settings->__invoke('mail', 'host'), 'name' => $this->settings->__invoke('mail', 'name'), 'connection_class' => $this->settings->__invoke('mail', 'connection_class'), 'connection_config' => ['username' => $this->settings->__invoke('mail', 'username'), 'password' => $this->settings->__invoke('mail', 'password'), 'ssl' => $this->settings->__invoke('mail', 'ssl')], 'port' => $this->settings->__invoke('mail', 'port')]); $htmlPart = new MimePart($message); $htmlPart->type = 'text/html'; $body = new MimeMessage(); $body->setParts([$htmlPart]); $mail = new Message(); $mail->setFrom($from, $fromName); $mail->addTo($to, $toName); $mail->setSubject($subject); $mail->setEncoding('UTF-8'); $mail->setBody($body); $mail->getHeaders()->addHeaderLine('MIME-Version: 1.0'); $mail->getHeaders()->addHeaderLine('Content-Type', 'text/html; charset=UTF-8'); try { $transport->setOptions($options); $transport->send($mail); return true; } catch (\Exception $e) { return $this->flashMessenger->addMessage('Email not send', 'error'); } }
public function send(ZendMessage $message = null) { $message = $message ? $message : $this->message; if (!$message) { throw new Exception\InvalidArgumentException(sprintf('Mail message not set')); } $transports = $this->transports; if (!$transports) { throw new Exception\InvalidArgumentException(sprintf('Mail transport not set')); } $conflictTransports = $this->conflictTransports; $transportTypes = array_keys($transports); if (count(array_intersect($conflictTransports, $transportTypes)) > 1) { throw new Exception\InvalidArgumentException(sprintf('Mail transports conflicted by %s', implode(",", array_intersect($conflictTransports, $transportTypes)))); } $zendMessage = new ZendMessage(); $zendMessage->setBody($message->getBody()); $zendMessage->setHeaders($message->getHeaders()); $zendMessage->setEncoding($message->getEncoding()); $message = $zendMessage; foreach ($transports as $transportType => $transport) { $transport->send($message); } }
public function testSettingNonAsciiEncodingForcesMimeEncodingOfSomeHeaders() { $this->message->addTo('*****@*****.**', 'ZF DevTeam'); $this->message->addFrom('*****@*****.**', "Matthew Weier O'Phinney"); $this->message->addCc('*****@*****.**', 'ZF Contributors List'); $this->message->addBcc('*****@*****.**', 'ZF CR Team'); $this->message->setSubject('This is a subject'); $this->message->setEncoding('UTF-8'); $test = $this->message->getHeaders()->toString(); $expected = '=?UTF-8?Q?ZF=20DevTeam?='; $this->assertContains($expected, $test); $this->assertContains('<*****@*****.**>', $test); $expected = "=?UTF-8?Q?Matthew=20Weier=20O'Phinney?="; $this->assertContains($expected, $test, $test); $this->assertContains('<*****@*****.**>', $test); $expected = '=?UTF-8?Q?ZF=20Contributors=20List?='; $this->assertContains($expected, $test); $this->assertContains('<*****@*****.**>', $test); $expected = '=?UTF-8?Q?ZF=20CR=20Team?='; $this->assertContains($expected, $test); $this->assertContains('<*****@*****.**>', $test); $expected = 'Subject: =?UTF-8?Q?This=20is=20a=20subject?='; $this->assertContains($expected, $test); }