setBodyHtml() 공개 메소드

Sets the HTML body for the message
public setBodyHtml ( string $html, string $charset = null, string $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE ) : Zend_Mail
$html string
$charset string
$encoding string
리턴 Zend_Mail Provides fluent interface
예제 #1
0
 /**
  * Send an email.
  *
  * @param array $params Config object.
  *  Required keys: to, subject, message
  *  Optional keys: replyTo
  * @param array $viewParams Any values you wish to send to the HTML mail template
  * @param array $attachments
  * @return bool
  */
 public function send(array $params, array $viewParams = array(), $attachments = array())
 {
     $this->_validateParams($params);
     $mail = new Zend_Mail($this->getCharacterEncoding());
     $mail->setSubject($params['subject']);
     $mail->setBodyText($this->_getPlainBodyText($params));
     $mail->setFrom($this->getFromAddress(), $this->getFromName());
     $mail->addTo($params['to']);
     $viewParams['subject'] = $params['subject'];
     if ($this->getHtmlTemplate()) {
         $viewParams['message'] = isset($params['message']) ? $params['message'] : '';
         $viewParams['htmlMessage'] = isset($params['htmlMessage']) ? $params['htmlMessage'] : '';
         $mail->setBodyHtml($this->_renderView($viewParams));
     } elseif (isset($params['htmlMessage'])) {
         $mail->setBodyHtml($params['htmlMessage']);
     }
     if (!empty($params['replyTo'])) {
         $mail->setReplyTo($params['replyTo']);
     }
     if (!empty($params['cc'])) {
         $mail->addCc($params['cc']);
     }
     if (!empty($params['bcc'])) {
         $mail->addBcc($params['bcc']);
     }
     $this->addAttachments($attachments);
     $mimeParts = array_map(array($this, '_attachmentToMimePart'), $this->_attachments);
     array_walk($mimeParts, array($mail, 'addAttachment'));
     return $mail->send($this->getTransport());
 }
예제 #2
0
파일: Mail.php 프로젝트: besters/My-Base
 /**
  * Odesle E-mail
  *
  * @param string $recipient E-mail prijemce
  */
 public function send($recipient)
 {
     $smtpOptions = array('auth' => 'login', 'username' => '*****@*****.**', 'password' => 'opticau51', 'ssl' => 'ssl', 'port' => 465);
     $mailTransport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $smtpOptions);
     $this->_mail->setBodyHtml($this->_bodyText);
     $this->_mail->addTo($recipient);
     $this->_mail->send($mailTransport);
 }
예제 #3
0
파일: Email.php 프로젝트: niieani/nandu
	/**
	 * Generate token and update user record.
	 * @see Doctrine_Record_Listener::postInsert()
	 */
	public function postInsert(Doctrine_Event $event) {
		$this->_user = $event->getInvoker();

		$this->assignViewVariables();

		$this->_mail->setBodyHtml($this->renderView('html'));
		$this->_mail->setBodyText($this->renderView('plain'));
		$this->_mail->setSubject($this->_subject);
		$this->_mail->addTo($this->_user->email, $this->_nickname);

		$this->_mail->send();
	}
예제 #4
0
 /**
  * load the template and send the message
  *
  * @param string $recipient
  * @param array $from
  * @param string $subject
  * @param string $template
  * @param array $data
  * @param string $cc
  * @return bool
  */
 public function send($recipient, $from = array(), $subject, $message, $cc = false)
 {
     $config = Zend_Registry::get('config');
     $this->_view->addScriptPath($config->filepath->emailTemplates);
     $this->_view->emailBody = $message;
     $this->_mail->setBodyHtml($this->_view->render('template.phtml'));
     $this->_mail->setFrom($from[0], $from[1]);
     $this->_mail->addTo($recipient);
     if ($cc) {
         $this->_mail->addCc($cc);
     }
     $this->_mail->setSubject($subject);
     return $this->_mail->send($this->_transport);
 }
예제 #5
0
 /**
  * 
  * @param User_Form_Recovery $form
  * @return boolean
  */
 public function userRecovery(User_Form_Recovery $form)
 {
     $answer = false;
     $user = Doctrine_Query::create()->from('User_Model_Mapper_User u')->select('u.username')->addSelect('u.password')->where('u.username = ?', $form->getValue('username'));
     if ($user->count() != '0') {
         $userRecovery = $user->fetchOne();
         $ranges = array(range('a', 'z'), range('A', 'Z'), range(1, 9));
         $length = 8;
         $pass = '';
         for ($i = 0; $i < $length; $i++) {
             $rkey = array_rand($ranges);
             $vkey = array_rand($ranges[$rkey]);
             $pass .= $ranges[$rkey][$vkey];
         }
         $hash = sha1($pass);
         $userRecovery->password = $hash;
         $userRecovery->save();
         $mail = new Zend_Mail();
         $mail->setBodyHtml('<p>Your new password.</p><p>Password: '******'</p>');
         $mail->setFrom('*****@*****.**', 'Administrator');
         $mail->addTo($userRecovery->email, $userRecovery->username);
         $mail->setSubject('Test password recovery');
         $mail->send();
         $answer = true;
     }
     return $answer;
 }
예제 #6
0
 public function indexAction()
 {
     $helper = Mage::helper('multipledeals');
     $storeId = Mage::app()->getStore()->getId();
     if ($helper->isEnabled()) {
         //Mage::getModel('multipledeals/multipledeals')->refreshDeals();
         if ($mainDeal = $helper->getDeal()) {
             $product = Mage::getModel('catalog/product')->setStore($storeId)->load($mainDeal->getProductId());
             $product->setDoNotUseCategoryId(true);
             $this->_redirectUrl($product->getProductUrl());
             return;
         } else {
             if (Mage::getStoreConfig('multipledeals/configuration/notify')) {
                 $subject = Mage::helper('multipledeals')->__('There are no deals setup at the moment.');
                 $content = Mage::helper('multipledeals')->__('A customer tried to view the deals page.');
                 $replyTo = Mage::getStoreConfig('trans_email/ident_general/email', $storeId);
                 $mail = new Zend_Mail();
                 $mail->setBodyHtml($content);
                 $mail->setFrom($replyTo);
                 $mail->addTo(Mage::getStoreConfig('multipledeals/configuration/admin_email'));
                 $mail->setSubject($subject);
                 $mail->send();
             }
             $this->_redirect('multipledeals/index/list');
         }
     } else {
         $this->_redirect('no-route');
     }
 }
예제 #7
0
 /**
  * Método Responsável pelo Envio
  * @return boolean
  * @throws Zend_Mail_Exception
  */
 public function envia()
 {
     try {
         //$oConteudoEmail = $this->oViewEmail->setScriptPath ($this->sTemplate);
         //if (isset($this->oDadosView->oArquivoAnexo)) {
         //
         //  $this->oEmail->createAttachment ($this->getArquivoAnexo());
         //}
         $sConteudoEmail = $this->oViewEmail->render(APPLICATION_PATH . '/../public/templates/' . $this->getTemplate());
         if ($this->getConfiguracaoEmail()->formato == 'html') {
             $this->oEmail->setBodyHtml($sConteudoEmail);
         } else {
             $this->oEmail->setBodyText($sConteudoEmail);
         }
         $this->oEmail->setFrom($this->oViewEmail->sEmailOrigem, $this->oViewEmail->sNomeOrigem);
         $this->oEmail->setReplyTo($this->oViewEmail->sEmailOrigem, $this->oViewEmail->sNomeOrigem);
         $this->oEmail->addTo($this->oViewEmail->sEmailDestino, $this->oViewEmail->sNomeDestino);
         $this->oEmail->setSubject($this->oViewEmail->sAssunto);
         $this->oEmail->send($this->getMetodoTransporte());
         $oRetorno->mensage = self::SUCESSO_ENVIO;
         $oRetorno->status = true;
         return $oRetorno;
     } catch (Zend_Mail_Exception $oErro) {
         throw new Zend_Mail_Exception($oErro);
     }
 }
예제 #8
0
 public function init()
 {
     $this->model = new ContactUsForm();
     if (isset($_POST['ContactUsForm'])) {
         $this->model->attributes = $_POST['ContactUsForm'];
         if ($this->model->validate()) {
             $this->successMessage = 'Your message has been sent, thank you';
             try {
                 include_once "Zend/Mail.php";
                 $contactName = strip_tags($this->model->name);
                 $staffMessage = "Name:\t" . $contactName . "\n" . "Tel:\t" . $this->model->telephone . "\n" . "Email:\t" . $this->model->email . "\n" . "Message:\n" . $this->model->message . "\n\n" . "Sent:\t" . date("d/m/Y H:i");
                 $mailToStaff = new Zend_Mail("UTF-8");
                 $mailToStaff->addTo($this->model->to . Yii::app()->params['contactUs']['email_hostname']);
                 $mailToStaff->setFrom($this->model->to . Yii::app()->params['contactUs']['email_hostname']);
                 $mailToStaff->setSubject("Message posted from Wooster & Stock Contact Page");
                 $mailToStaff->setBodyText($staffMessage);
                 $mailToStaff->send();
                 $mailToClient = new Zend_Mail('UTF-8');
                 $mailToClient->addTo($this->model->email, $contactName);
                 $mailToClient->setFrom($this->model->to . Yii::app()->params['contactUs']['email_hostname']);
                 $mailToClient->setSubject("Message posted from Wooster & Stock Contact Page");
                 $mailToClient->setBodyText($this->emailText('text', $this->model->email, $contactName));
                 $mailToClient->setBodyHtml($this->emailText('html', $this->model->email, $contactName));
                 $mailToClient->send();
             } catch (Exception $e) {
             }
             $this->model->unsetAttributes();
         }
     }
 }
예제 #9
0
function sendmail($subject, $mailcontent, $receiver, $receivername, $attachment = "")
{
    //die($subject." | ".$mailcontent." | ".$receiver." | ".$receivername);
    try {
        $mail = new Zend_Mail();
        $mail->setBodyHtml($mailcontent)->setFrom('*****@*****.**', 'Pepool')->addTo($receiver, $receivername)->setSubject($subject)->send();
    } catch (Zend_Exception $e) {
    }
    /*
    if(strpos($_SERVER['HTTP_HOST'],"localhost"))return false;
    $mail = new phpmailer();
    $mail->IsSMTP();
    $mail->Subject  =  $subject;
    $mail->Body  = $mailcontent;
    $mail->AddAddress($receiver, $receivername);
    $mail->IsHTML(true);
    if($attachment != '')$mail->AddAttachment($attachment);
    
    if(!$mail->Send())
    {
    	$headers  = 'MIME-Version: 1.0' . "\r\n";
    	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    	$headers .= "To: $receivername <$receiver>" . "\r\n";
    	$headers .= "From: Pepool <*****@*****.**>" . "\r\n";
    	mail($receiver, $subject, $mailcontent, $headers);
    }
    */
    return true;
}
예제 #10
0
 /**
  * sends a standard email
  * 
  * @param string $subject
  * @param string $toName
  * @param array $toEmails
  * @param array $emailOptions
  * @param string $fromName
  * @param string $fromEmail
  */
 public function send($subject, $toName, $toEmails = array(), $emailOptions = array(), $fromName = null, $fromEmail = null)
 {
     $logger = Zend_Registry::get('logger');
     $config = vkNgine_Config::getSystemConfig()->mail;
     if ($config->serverType == 'smtp') {
         $tr = new Zend_Mail_Transport_Smtp($config->server, $config->toArray());
     }
     Zend_Mail::setDefaultTransport($tr);
     foreach ($toEmails as $email) {
         $mail = new Zend_Mail();
         if ($emailOptions['type'] == 'html') {
             $mail->setBodyHtml($emailOptions['email']);
         } else {
             $mail->setBodyText($emailOptions['email']);
         }
         if (!$fromName || !$fromEmail) {
             $mail->setFrom($config->noreply, 'GYM Tracker');
         } else {
             $mail->setFrom($fromEmail, $fromName);
         }
         $mail->addTo($email, $toName);
         $mail->setSubject($subject);
         try {
             $mail->send();
         } catch (Zend_Mail_Protocol_Exception $e) {
             $logger->log('MESSAGE_SEND_FAILED', 'Unable to send to ' . $email . ' - ' . $e->getMessage(), 1);
         }
     }
 }
 /**
  * Send a mail based on the configuration in the emails table
  *
  * @throws EngineBlock_Exception in case there is no EmailConfiguration in emails table
  * @param $emailAddress the email address of the recipient
  * @param $emailType the pointer to the emails configuration
  * @param $replacements array where the key is a variable (e.g. {user}) and the value the string where the variable should be replaced
  * @return void
  */
 public function sendMail($emailAddress, $emailType, $replacements)
 {
     $dbh = $this->_getDatabaseConnection();
     $query = "SELECT email_text, email_from, email_subject, is_html FROM emails where email_type = ?";
     $parameters = array($emailType);
     $statement = $dbh->prepare($query);
     $statement->execute($parameters);
     $rows = $statement->fetchAll();
     if (count($rows) !== 1) {
         EngineBlock_ApplicationSingleton::getLog()->err("Unable to send mail because of missing email configuration: " . $emailType);
         return;
     }
     $emailText = $rows[0]['email_text'];
     foreach ($replacements as $key => $value) {
         // Single value replacement
         if (!is_array($value)) {
             $emailText = str_ireplace($key, $value, $emailText);
         } else {
             $replacement = '<ul>';
             foreach ($value as $valElem) {
                 $replacement .= '<li>' . $valElem . '</li>';
             }
             $replacement .= '</ul>';
             $emailText = str_ireplace($key, $replacement, $emailText);
         }
     }
     $emailFrom = $rows[0]['email_from'];
     $emailSubject = $rows[0]['email_subject'];
     $mail = new Zend_Mail('UTF-8');
     $mail->setBodyHtml($emailText, 'utf-8', 'utf-8');
     $mail->setFrom($emailFrom, "SURFconext Support");
     $mail->addTo($emailAddress);
     $mail->setSubject($emailSubject);
     $mail->send();
 }
예제 #12
0
 /**
  * Process Register action
  */
 public function processRegisterAction()
 {
     $db = $this->db;
     $form = new Owner_Registration();
     if ($this->_request->isXmlHttpRequest() && $form->isValid($_POST)) {
         $data = $form->getValidValues($_POST);
         //mark as free trial
         $data["free_trial"] = 1;
         $newRecord = $this->ownerModel->create($data);
         //query newly create record
         $owner = $this->ownerModel->find($newRecord)->toArray();
         try {
             //sends an email
             $mail = new Zend_Mail("utf-8");
             $mail->addTo($owner["email"], $owner["first_name"] . " " . $owner["last_name"]);
             $mail->setBodyHtml(Mailer::getTemplate("welcome.phtml", array("fullname" => $owner["first_name"] . " " . $owner["last_name"])));
             $mail->setSubject("welcome to Leadschat");
             $mail->setFrom("*****@*****.**");
             $mail->send(Mailer::getTransport());
         } catch (Exception $e) {
         }
         $this->view->result = array("result" => true);
     } else {
         $this->view->result = array("result" => false, "errors" => $form->getErrors());
     }
     $this->_helper->layout->setLayout("plain");
     $this->_helper->viewRenderer("json");
 }
예제 #13
0
파일: Email.php 프로젝트: ud223/yj
 public function sendEmail($template, $to, $subject, $params = array())
 {
     try {
         $config = array('auth' => 'Login', 'port' => $this->_bootstrap_options['mail']['port'], 'ssl' => 'ssl', 'username' => $this->_bootstrap_options['mail']['username'], 'password' => $this->_bootstrap_options['mail']['password']);
         $tr = new Zend_Mail_Transport_Smtp($this->_bootstrap_options['mail']['server'], $config);
         Zend_Mail::setDefaultTransport($tr);
         $mail = new Zend_Mail('UTF-8');
         $layout = new Zend_Layout();
         $layout->setLayoutPath($this->_bootstrap_options['mail']['layout']);
         $layout->setLayout('email');
         $view = $layout->getView();
         $view->domain_url = $this->_bootstrap_options['site']['domainurl'];
         $view = new Zend_View();
         $view->params = $params;
         $view->setScriptPath($this->_bootstrap_options['mail']['view_script']);
         $layout->content = $view->render($template . '.phtml');
         $content = $layout->render();
         $mail->setBodyText(preg_replace('/<[^>]+>/', '', $content));
         $mail->setBodyHtml($content);
         $mail->setFrom($this->_bootstrap_options['mail']['from'], $this->_bootstrap_options['mail']['from_name']);
         $mail->addTo($to);
         $mail->setSubject($subject);
         $mail->send();
     } catch (Exception $e) {
         // 这里要完善
     }
     return true;
 }
예제 #14
0
 public function apkisgeneratedAction()
 {
     $appName = $this->getRequest()->getParam('app_name');
     $apk_base_path = Core_Model_Directory::getBasePathTo("var/tmp/applications/android/{$appName}/Siberian/app/build/outputs/apk/app-release.apk");
     $apk_path = Core_Model_Directory::getPathTo("var/tmp/applications/android/{$appName}/Siberian/app/build/outputs/apk/app-release.apk");
     $apk_is_generated = false;
     $link = $this->getUrl() . $apk_path;
     $link = str_replace("//", "/", $link);
     if (file_exists($apk_base_path)) {
         if (time() - filemtime($apk_base_path) <= 600) {
             $apk_is_generated = true;
         }
     }
     $user = new Backoffice_Model_User();
     try {
         $user = $user->findAll(null, "user_id ASC", array("limit" => "1"))->current();
         $sender = System_Model_Config::getValueFor("support_email");
         $support_name = System_Model_Config::getValueFor("support_name");
         $layout = $this->getLayout()->loadEmail('application', 'download_source');
         $subject = $this->_('Android APK Generation');
         $layout->getPartial('content_email')->setLink($link);
         $layout->getPartial('content_email')->setApkStatus($apk_is_generated);
         $content = $layout->render();
         $mail = new Zend_Mail('UTF-8');
         $mail->setBodyHtml($content);
         $mail->setFrom($sender, $support_name);
         $mail->addTo($user->getEmail());
         $mail->setSubject($subject);
         $mail->send();
     } catch (Exception $e) {
         $logger = Zend_Registry::get("logger");
         $logger->sendException("Fatal Error Sending the APK Generation Email: \n" . print_r($e, true), "apk_generation_");
     }
     die('ok');
 }
예제 #15
0
 /**
  * Action send.
  *
  * @return void
  */
 public function sendAction()
 {
     $form = new Application_Form_Forgot();
     $tableUser = new Tri_Db_Table('user');
     $data = $this->_getAllParams();
     if ($form->isValid($data)) {
         $email = $this->_getParam('email');
         $user = $tableUser->fetchRow(array('email = ?' => $email));
         if (!$user->id) {
             $this->_helper->_flashMessenger->addMessage('user not avaliable');
             $this->_redirect('forgot/');
         }
         $this->view->name = $user->name;
         $this->view->url = $this->encryptUrl($user);
         $mail = new Zend_Mail(APP_CHARSET);
         $mail->setBodyHtml($this->view->render('forgot/mail.phtml'));
         $mail->setFrom(FROM_EMAIL, FROM_NAME);
         $mail->setSubject($this->view->translate('forgot'));
         $mail->addTo($user->email, $user->name);
         $mail->send();
         $this->_helper->_flashMessenger->addMessage('Success');
         $this->_redirect('forgot/');
     }
     $this->_helper->_flashMessenger->addMessage('Error');
     $this->_redirect('forgot/');
 }
예제 #16
0
 public function recoveryPasswordCliente($email)
 {
     try {
         if ($this->_modelUser->verificarEmail($email) == true) {
             try {
                 $where = $this->_modelUser->getAdapter()->quoteInto('email = ?', $email);
                 $user = $this->_modelUser->fetchAll($where);
                 $html = new Zend_View();
                 $html->setScriptPath(APPLICATION_PATH . '/assets/templates/');
                 // enviando variaveis para a view
                 $html->assign('nome', $user[0]['nome']);
                 $html->assign('email', $user[0]['email']);
                 $html->assign('senha', $user[0]['passw']);
                 // criando objeto email
                 $mail = new Zend_Mail('utf-8');
                 // render view
                 $bodyText = $html->render('esqueciasenha.phtml');
                 // configurar envio
                 $mail->addTo($user[0]['email']);
                 $mail->setSubject('Esqueci a senha ');
                 $mail->setFrom('*****@*****.**', 'Resort Villa Hípica');
                 $mail->setBodyHtml($bodyText);
                 $mail->send();
                 return true;
             } catch (Exception $e) {
                 throw $e;
             }
         } else {
             return false;
         }
     } catch (Exception $e) {
         throw $e;
     }
 }
예제 #17
0
파일: Mail.php 프로젝트: VUW-SIM-FIS/emiemi
 /**
  * Sends mail to recipient(s) if log entries are present.  Note that both
  * plaintext and HTML portions of email are handled here.
  *
  * @return void
  */
 public function shutdown()
 {
     // If there are events to mail, use them as message body.  Otherwise,
     // there is no mail to be sent.
     if (empty($this->_eventsToMail)) {
         return;
     }
     if ($this->_subjectPrependText !== null) {
         // Tack on the summary of entries per-priority to the subject
         // line and set it on the Zend_Mail object.
         $numEntries = $this->_getFormattedNumEntriesPerPriority();
         $this->_mail->setSubject("{$this->_subjectPrependText} ({$numEntries})");
     }
     // Always provide events to mail as plaintext.
     $this->_mail->setBodyText(implode('', $this->_eventsToMail));
     // If a Zend_Layout instance is being used, set its "events"
     // value to the lines formatted for use with the layout.
     if ($this->_layout) {
         // Set the required "messages" value for the layout.  Here we
         // are assuming that the layout is for use with HTML.
         $this->_layout->events = implode('', $this->_layoutEventsToMail);
         $this->_mail->setBodyHtml($this->_layout->render());
     }
     // Finally, send the mail, but re-throw any exceptions at the
     // proper level of abstraction.
     try {
         $this->_mail->send();
     } catch (Exception $e) {
         throw new Zend_Log_Exception($e->getMessage(), $e->getCode());
     }
 }
예제 #18
0
 /**
  * Send an email
  *
  * @param  mixed $emails String or array or emails
  * @param  string $subject 
  * @param  string $message 
  * @return boolean
  */
 public static function sendEmail($emails, $subject, $message, $fromName, $fromEmail)
 {
     $mail = new Zend_Mail();
     if (is_array($emails)) {
         foreach ($emails as $email) {
             $mail->addTo($email);
         }
     } else {
         $mail->addTo($emails);
     }
     $mail->setSubject($subject);
     $mail->setBodyHtml($message);
     $mail->setFrom($fromEmail, $fromName);
     $sent = true;
     try {
         $mail->send();
     } catch (Exception $e) {
         $sent = false;
         $error = $e->getMessage();
         //            Logger::LogEmail($e->getMessage(), Zend_Log::ERR);
         //            Logger::LogEmail('Email: ' . $email, Zend_Log::INFO);
         //            Logger::LogEmail('Subject: ' . $subject, Zend_Log::INFO);
         //            Logger::LogEmail('Message: ' . $message, Zend_Log::INFO);
     }
     return [Sent => $sent, Message => $error];
 }
예제 #19
0
 public function contatoAction()
 {
     if ($this->_request->isPost()) {
         $html = new Zend_View();
         $html->setScriptPath(APPLICATION_PATH . '/modules/default/layouts/scripts/');
         $title = 'Contato | Instag';
         $to = '*****@*****.**';
         $cc = '*****@*****.**';
         $html->assign('title', $title);
         $html->assign('nome', $this->_request->getPost('nome'));
         $html->assign('email', $this->_request->getPost('email'));
         $html->assign('assunto', $this->_request->getPost('assunto'));
         $html->assign('mensagem', $this->_request->getPost('mensagem'));
         $mail = new Zend_Mail('utf-8');
         $bodyText = $html->render('contato.phtml');
         $config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => '*****@*****.**', 'password' => 'Inndeia123');
         $transport = new Zend_Mail_Transport_Smtp('127.0.0.1', $config);
         $mail->addTo($to);
         $mail->addCc($cc);
         $mail->setSubject($title);
         $mail->setFrom($this->_request->getPost('email'), $this->_request->getPost('name'));
         $mail->setBodyHtml($bodyText);
         $send = $mail->send($transport);
         if ($send) {
             $this->_helper->flashMessenger->addMessage('Sua mensagem foi enviada com sucesso, em breve entraremos em contato.');
         } else {
             $this->_helper->flashMessenger->addMessage('Falha no envio, tente novamente!');
         }
         $this->_redirect('/index');
     }
 }
예제 #20
0
 public function postAction()
 {
     if ($datas = Zend_Json::decode($this->getRequest()->getRawBody())) {
         try {
             // Test les eventuelles erreurs
             $errors = array();
             if (empty($datas['email']) or !Zend_Validate::is($datas['email'], 'emailAddress')) {
                 throw new Exception($this->_("Please enter a valid email address"));
             }
             $contact = $this->getCurrentOptionValue()->getObject();
             if (!$contact->getId()) {
                 throw new Exception($this->_('An error occurred while sending your request. Please try again later.'));
             }
             $dest_email = $contact->getEmail();
             $app_name = $this->getApplication()->getName();
             $layout = $this->getLayout()->loadEmail('contact', 'send_email');
             $layout->getPartial('content_email')->setData($datas);
             $content = $layout->render();
             $mail = new Zend_Mail('UTF-8');
             $mail->setBodyHtml($content);
             $mail->setFrom($datas['email'], $datas['name']);
             $mail->addTo($dest_email, $app_name);
             $mail->setSubject($this->_("Message from your app %s", $app_name));
             $mail->send();
             $html = array("success" => 1, "message" => $this->_("Your message has been sent"));
         } catch (Exception $e) {
             $html = array('error' => 1, 'message' => $e->getMessage());
         }
         $this->_sendHtml($html);
     }
 }
    public function indexAction()
    {
        $this->view->headTitle('Contato');
        $categoriaModel = new Application_Model_Categoria();
        $nome_categorias = $categoriaModel->fetchAll($categoriaModel->select()->from($categoriaModel->info(Zend_Db_Table_Abstract::NAME))->columns(array('nome_categoria')));
        $this->view->categorias = $nome_categorias;
        require_once APPLICATION_PATH . '/forms/Contato.php';
        $this->view->form = new Application_Form_Contato();
        if ($this->_request->isPost()) {
            $this->view->form->setDefaults($this->_request->getPost());
            $data = $this->view->form->getValues();
            if ($this->view->form->isValid($data)) {
                $contatosModel = new Application_Model_Contatos();
                $id = $contatosModel->insert($data);
                $data = '<html><body><table>
					<tr><td>Nome</td>
					<td>' . $_POST['nome'] . '</td></tr>
					<tr><td>E-mail</td>
					<td>' . $_POST['email'] . '</td></tr>
					<tr><td>Telefone</td>
					<td>' . $_POST['telefone'] . '</td></tr>
					<tr><td>Texto</td>
					<td>' . $_POST['mensagem'] . '</td></tr>
					</table></body></html>';
                // Using the ini_set()
                ini_set("SMTP", "localhost");
                ini_set("sendmail_from", "*****@*****.**");
                ini_set("smtp_port", "587");
                $mail = new Zend_Mail('UTF-8', 'ISO-8859-8');
                $mail->setBodyHtml($data)->setFrom('*****@*****.**', 'Formulario de Contato')->addTo('*****@*****.**', 'Contato')->setSubject('Contato')->send();
                return $this->_helper->redirector('index');
            }
        }
    }
예제 #22
0
 public function sendEmail($params)
 {
     //$smtp     = "mail.alquilertop.com";  //"authsmtp.barcelonapordias.com";//"smtp.googlemail.com"; //"mail.carandgo.com";  //"smtp.googlemail.com"; // smtp.googlemail.com
     //$smtp = "smtp.googlemail.com";
     $smtp = "mail.turisdays.com";
     //$smtp = "smtp.mail.com";
     //$usuario    = "*****@*****.**"; //"*****@*****.**";//"*****@*****.**";
     //$usuario = "*****@*****.**";
     //$usuario = "*****@*****.**";
     //$usuario = "*****@*****.**";
     $usuario = "*****@*****.**";
     //$clave    = "0a5g2fxk";
     //$clave = "Rtc_728800";
     $clave = "728800";
     //$de       = "*****@*****.**"; //"*****@*****.**";//"*****@*****.**"; //"email";
     //$de = "*****@*****.**";
     //$de = "*****@*****.**";
     $de = "*****@*****.**";
     //$asunto  = "Interesado en alquiler";
     //$mensagem = "<b>Probando servidor de correo barcelonapordias.com </b> Testeo de envio de email !!.";
     try {
         $config = array('auth' => 'login', 'username' => $usuario, 'password' => $clave, 'ssl' => 'ssl', 'port' => '465');
         $mailTransport = new Zend_Mail_Transport_Smtp($smtp, $config);
         //die('<pre>' . print_r($mailTransport,true) . '</pre>');
         $mail = new Zend_Mail();
         $mail->setFrom($de);
         $mail->addTo($params['para']);
         $mail->setBodyHtml($params['mensaje']);
         $mail->setSubject($params['asunto']);
         $mail->send($mailTransport);
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
 public function send()
 {
     $_helper = Mage::helper('smtppro');
     // If it's not enabled, just return the parent result.
     if (!$_helper->isEnabled()) {
         return parent::send();
     }
     if (Mage::getStoreConfigFlag('system/smtp/disable')) {
         return $this;
     }
     $mail = new Zend_Mail();
     if (strtolower($this->getType()) == 'html') {
         $mail->setBodyHtml($this->getBody());
     } else {
         $mail->setBodyText($this->getBody());
     }
     $mail->setFrom($this->getFromEmail(), $this->getFromName())->addTo($this->getToEmail(), $this->getToName())->setSubject($this->getSubject());
     $transport = new Varien_Object();
     // for observers to set if required
     Mage::dispatchEvent('aschroder_smtppro_before_send', array('mail' => $mail, 'email' => $this, 'transport' => $transport));
     if ($transport->getTransport()) {
         // if set by an observer, use it
         $mail->send($transport->getTransport());
     } else {
         $mail->send();
     }
     Mage::dispatchEvent('aschroder_smtppro_after_send', array('to' => $this->getToName(), 'subject' => $this->getSubject(), 'template' => "n/a", 'html' => strtolower($this->getType()) == 'html', 'email_body' => $this->getBody()));
     return $this;
 }
예제 #24
0
 public function actionIndex()
 {
     require_once 'Zend/Mail.php';
     $sql = "SELECT * FROM client where (cli_saleemail = 'yes' or cli_letemail  = 'yes') and cli_email != '' and cli_email is not null";
     $data = Yii::app()->db->createCommand($sql)->queryAll();
     $exclude = [];
     if (file_exists('luna/exclude')) {
         $exclude = file('luna/exclude');
     }
     foreach ($data as $client) {
         if (in_array($client['cli_email'], $exclude)) {
             $this->log('excluded ' . $client['cli_email']);
             continue;
         }
         try {
             $mail = new Zend_Mail("UTF-8");
             $mail->addTo($client['cli_email']);
             $mail->setFrom('*****@*****.**');
             $mail->setSubject('Win 2 tickets to the Luna Outdoor Cinema');
             $mail->setBodyHtml($this->renderFile(Yii::getPathOfAlias('application.commands.luna') . '/template.php', compact('client'), true));
             $this->log('Sending mail to ' . $client['cli_fname'] . ' [' . $client['cli_email'] . ']');
             $mail->send();
             $this->log('Mail sent to ' . $client['cli_fname'] . ' [' . $client['cli_email'] . ']');
         } catch (Exception $e) {
             $this->log('ERROR : Mail NOT sent to ' . $client['cli_fname'] . ' [' . $client['cli_email'] . ']');
         }
     }
 }
예제 #25
0
 /**
  * @param $store
  * @param $items
  * @param $tplSuccess
  * @param $tplError
  * @return $this
  */
 public function sendFeedNotification($store, $items, $tplSuccess, $tplError)
 {
     $body = '';
     $hasError = false;
     $allowedKeys = array('entity_name', 'store_name', 'error_message');
     foreach ($items as $item) {
         if ($item['successfully']) {
             $itemMsg = $this->__($tplSuccess);
         } else {
             $itemMsg = $this->__($tplError);
             $hasError = true;
         }
         foreach ($allowedKeys as $key) {
             $value = isset($item[$key]) ? $item[$key] : '';
             $itemMsg = str_replace("{{$key}}", $value, $itemMsg);
         }
         $body .= $itemMsg . PHP_EOL;
     }
     $email = $this->_getConfig()->getNotificationRecipientEmail($store);
     $subject = $this->_getConfig()->getNotificationSubject();
     $subject .= $hasError ? $this->__('Failure') : $this->__('Success');
     $mail = new Zend_Mail();
     $mail->setFrom($this->_getConfig()->getDefaultSenderEmail(), $this->_getConfig()->getDefaultSenderName());
     $mail->addTo($email);
     $mail->setSubject($subject);
     $mail->setBodyHtml(nl2br($body));
     try {
         $mail->send();
     } catch (Exception $e) {
         Mage::logException($e);
     }
     return $this;
 }
예제 #26
0
 public function forgottenpasswordAction()
 {
     if ($data = Zend_Json::decode($this->getRequest()->getRawBody())) {
         try {
             if (empty($data['email'])) {
                 throw new Exception($this->_('Please enter your email address'));
             }
             $user = new Backoffice_Model_User();
             $user->find($data['email'], 'email');
             if (!$user->getId()) {
                 throw new Exception($this->_("Your email address does not exist"));
             }
             $password = Core_Model_Lib_String::generate(8);
             $user->setPassword($password)->save();
             $sender = System_Model_Config::getValueFor("support_email");
             $support_name = System_Model_Config::getValueFor("support_name");
             $layout = $this->getLayout()->loadEmail('admin', 'forgot_password');
             $subject = $this->_('Your new password');
             $layout->getPartial('content_email')->setPassword($password);
             $content = $layout->render();
             $mail = new Zend_Mail('UTF-8');
             $mail->setBodyHtml($content);
             $mail->setFrom($sender, $support_name);
             $mail->addTo($user->getEmail(), $user->getName());
             $mail->setSubject($subject);
             $mail->send();
             $data = array("success" => 1, "message" => $this->_('Your new password has been sent to the entered email address'));
         } catch (Exception $e) {
             $data = array("error" => 1, "message" => $e->getMessage());
         }
     }
     $this->_sendHtml($data);
 }
예제 #27
0
 public function sendMail()
 {
     if (func_num_args() >= 4) {
         $to = func_get_arg(0);
         $from = func_get_arg(1);
         $subject = func_get_arg(2);
         $messageRecieved = func_get_arg(3);
         $tr = new Zend_Mail_Transport_Smtp($this->_host, array('auth' => 'login', 'username' => $this->_username, 'password' => $this->_password, 'port' => $this->_port));
         Zend_Mail::setDefaultTransport($tr);
         $mail = new Zend_Mail('utf-8');
         $mail->setFrom($from);
         $mail->setBodyHtml($messageRecieved);
         $mail->addTo($to);
         $mail->setSubject($subject);
         $mail->addHeader('MIME-Version', '1.0');
         $mail->addHeader('Content-Transfer-Encoding', '8bit');
         $mail->addHeader('X-Mailer:', 'PHP/' . phpversion());
         try {
             $mail->send();
             $response = "Mail sent";
             return $response;
         } catch (Exception $e) {
             throw new Zend_Controller_Action_Exception('SendGrid Mail sending error', 500);
         }
     } else {
         throw new Zend_Controller_Action_Exception('Paramter Not passed', 500);
     }
 }
예제 #28
0
 /**
  * Send email
  *
  * TODO: add language specific template based on recepient default language
  */
 public static function sendEmail($to, $subject, $body, $show_errors = false)
 {
     if (Zend_Registry::get('config')->get('mail_adapter') == 'smtp') {
         $smtp_config = array('ssl' => Zend_Registry::get('config')->get('mail_security'), 'port' => Zend_Registry::get('config')->get('mail_port'), 'auth' => Zend_Registry::get('config')->get('mail_login'), 'username' => Zend_Registry::get('config')->get('mail_username'), 'password' => Zend_Registry::get('config')->get('mail_password'));
         $tr = new Zend_Mail_Transport_Smtp(Zend_Registry::get('config')->get('mail_host'), $smtp_config);
     } else {
         $tr = new Zend_Mail_Transport_Sendmail();
     }
     Zend_Mail::setDefaultTransport($tr);
     $mail = new Zend_Mail('utf8');
     $mail->setBodyHtml($body);
     $mail->setFrom(Zend_Registry::get('config')->get('mail_from'), Zend_Registry::get('config')->get('mail_from_name'));
     $mail->addTo($to);
     $mail->setSubject($subject);
     try {
         $mail->send($tr);
     } catch (Zend_Mail_Exception $e) {
         if (method_exists($tr, 'getConnection') && method_exists($tr->getConnection(), 'getLog')) {
             Application_Plugin_Common::log(array($e->getMessage(), $tr->getConnection()->getLog()));
         } else {
             Application_Plugin_Common::log(array($e->getMessage(), 'error sending mail'));
         }
         if ($show_errors) {
             Application_Plugin_Alerts::error(Zend_Registry::get('Zend_Translate')->translate('Something went wrong, email was not sent.'), 'off');
         }
         return false;
     }
     return true;
 }
 public function postAction()
 {
     $email = $this->_request->getParam('email');
     $response = $this->_helper->response();
     if (Kebab_Validation_Email::isValid($email)) {
         // Create user object
         $user = Doctrine_Core::getTable('Model_Entity_User')->findOneBy('email', $email);
         $password = Kebab_Security::createPassword();
         if ($user !== false) {
             $user->password = md5($password);
             $user->save();
             $configParam = Zend_Registry::get('config')->kebab->mail;
             $smtpServer = $configParam->smtpServer;
             $config = $configParam->config->toArray();
             // Mail phtml
             $view = new Zend_View();
             $view->setScriptPath(APPLICATION_PATH . '/views/mails/');
             $view->assign('password', $password);
             $transport = new Zend_Mail_Transport_Smtp($smtpServer, $config);
             $mail = new Zend_Mail('UTF-8');
             $mail->setFrom($configParam->from, 'Kebab Project');
             $mail->addTo($user->email, $user->fullName);
             $mail->setSubject('Reset Password');
             $mail->setBodyHtml($view->render('forgot-password.phtml'));
             $mail->send($transport);
             $response->setSuccess(true)->getResponse();
         } else {
             $response->addNotification(Kebab_Notification::ERR, 'There isn\'t user with this email')->getResponse();
         }
     } else {
         $response->addError('email', 'Invalid email format')->getResponse();
     }
 }
예제 #30
0
 public function indexAction()
 {
     do {
         $message = App_Model_Queue::pop(App_Model_Queue::EMAIL);
         if ($message) {
             $user = App_Model_User::fetchOne(['id' => (string) $message->user]);
             $config = $user->data['mail'];
             Zend_Mail::setDefaultTransport(new Zend_Mail_Transport_Smtp($config['server'], ['auth' => $config['auth'], 'username' => $config['username'], 'password' => $config['password'], 'port' => $config['port'], 'ssl' => $config['ssl']]));
             $mail = new Zend_Mail('UTF-8');
             foreach ($message->receivers as $receiver) {
                 $mail->addTo($receiver['email'], $receiver['name']);
             }
             $this->writeLine("------------------------------------------------");
             $this->writeLine("to: " . print_r($message->receivers, true));
             $this->writeLine("from: " . implode(', ', [$user->data['mail']['username'], $user->data['mail']['name']]));
             $this->writeLine("Subject: " . $message->subject);
             $mail->setSubject($message->subject);
             $mail->setBodyHtml($message->content);
             $mail->setFrom($user->data['mail']['username'], $user->data['mail']['name']);
             $this->writeLine("Start sending...");
             try {
                 $mail->send();
             } catch (Exception $e) {
                 $this->writeLine($e->getMessage());
             }
             $this->writeLine('>>>> Done');
             sleep(1);
         }
     } while (true);
 }