function send()
 {
     $emailService = new EmailService();
     $result = $emailService->sendMessage($this->_message);
     MoblogLogger::log("Response message sent!");
     return $result;
 }
 /**
  * Notifies a user of a new comment in an article.
  *
  * @param notification The ArticleNotification object.
  * @param userInfo An UserInfo object with information about the user (we
  * mainly will need the email address!)
  * @param subject Subject of the message that will be sent to the user.
  * @param body Message that will be sent to the user.
  * @param charset the encoding that will be used in the message (it should be based
  * on the locale of the blog who is sending this message) It defaults to iso-8859-1
  * @return Returns true if the user was correctly notified or false otherwise.
  */
 function notifyUser($notification, $userInfo, $subject, $body, $charset = 'iso-8859-1')
 {
     //print( "sending notification to ".$userInfo->getEmail()."<br/>");
     $message = new EmailMessage();
     $message->setFrom($this->_config->getValue("post_notification_source_address"));
     $message->addTo($userInfo->getEmail());
     $message->setSubject("pLog Notification system");
     $message->setBody($body);
     $message->setCharset($charset);
     $service = new EmailService();
     return $service->sendMessage($message);
 }
 function sendNotificationEmail($userInfo)
 {
     // if everything went fine, we can now send the confirmation email
     // only if the user specified a valid email address
     if ($userInfo->getEmail() != "") {
         // build an email message
         $message = new EmailMessage();
         $message->setBody($this->_notificationText);
         $message->setSubject("pLog Notification");
         $message->addTo($userInfo->getEmail());
         $message->setFrom($this->_userInfo->getEmail());
         // and finally send it
         $emailService = new EmailService();
         $emailService->sendMessage($message);
     }
     return true;
 }
 /**
  * sends the email with the request
  * @private
  */
 function sendResetEmail($userInfo, $url)
 {
     // prepare the template
     $templateService = new TemplateService();
     $template = $templateService->Template("resetpasswordemail", "summary");
     $template->assign("locale", $this->_locale);
     $template->assign("reseturl", $url);
     // render it and keep its contents
     $emailBody = $template->fetch();
     $message = new EmailMessage();
     $config =& Config::getConfig();
     $message->setFrom($config->getValue("post_notification_source_address"));
     $message->addTo($userInfo->getEmail());
     $message->setSubject("pLog Password Reset Request");
     $message->setBody($emailBody);
     $service = new EmailService();
     return $service->sendMessage($message);
 }
 function perform()
 {
     // extract the data
     $recipients = $this->_request->getValue("messageRecipient");
     $recipientsCc = $this->_request->getValue("messageCc");
     $recipientsBcc = $this->_request->getValue("messageBcc");
     $text = $this->_request->getValue("messageText");
     $subject = $this->_request->getValue("messageSubject");
     // check that we've got either a 'to','cc' or 'bcc'
     if ($recipients == "" && $recipientsCc == "" && $recipientsBcc == "") {
         // force an error
         $this->_view = new MailCentreSendMessageView($this->_blogInfo);
         $this->_view->setErrorMessage($this->_locale->tr("mailcentre_error_sending_message"));
         $this->_form->setFieldValidationStatus("messageRecipient", false);
         $this->setCommonData(true);
     }
     // pre-process some of the data
     $recipients = str_replace(" ", "", $recipients);
     $recipientsCc = str_replace(" ", "", $recipientsCc);
     $recipientsBcc = str_replace(" ", "", $recipientsBcc);
     // and get the list of recipients
     $listUnexpanded = explode(",", $recipients);
     $list = array();
     foreach ($listUnexpanded as $recipient) {
         $result = $this->_expandRecipients($recipient);
         $list = array_merge($list, $result);
     }
     $listCcUnexpanded = explode(",", $recipientsCc);
     $listCc = array();
     foreach ($listCcUnexpanded as $recipient) {
         $result = $this->_expandRecipients($recipient);
         $listCc = array_merge($listCc, $result);
     }
     $listBccUnexpanded = explode(",", $recipientsBcc);
     $listBcc = array();
     foreach ($listBccUnexpanded as $recipient) {
         $result = $this->_expandRecipients($recipient);
         $listBcc = array_merge($listBcc, $result);
     }
     // create a mail message that includes all the recipients
     $message = new EmailMessage();
     $val = new EmailValidator();
     $totalTo = 0;
     $totalCc = 0;
     $totalBcc = 0;
     foreach ($list as $to) {
         // add each one of the recipients
         if ($val->validate($to)) {
             $message->addTo($to);
             $totalTo++;
         }
     }
     foreach ($listCc as $cc) {
         // add each one of the recipients
         if ($val->validate($cc)) {
             $message->addCc($cc);
             $totalCc++;
         }
     }
     foreach ($listBcc as $bcc) {
         // add each one of the recipients
         if ($val->validate($bcc)) {
             $message->addBcc($bcc);
             $totalBcc++;
         }
     }
     // check that we are really sending the message to somebody
     if ($totalTo == 0 && $totalCc == 0 && $totalBcc == 0) {
         // force an error
         $this->_view = new MailCentreSendMessageView($this->_blogInfo);
         $this->_view->setErrorMessage($this->_locale->tr("mailcentre_error_sending_message"));
         $this->_form->setFieldValidationStatus("messageRecipient", false);
         $this->setCommonData(true);
     }
     // and now set the subject and body...
     $message->setSubject($subject);
     $message->setBody($text);
     // set the encoding based on the current blog settings
     $locale =& $this->_blogInfo->getLocale();
     $message->setCharset($locale->getCharset());
     // and the "from" address
     $config =& Config::getConfig();
     $from = $config->getValue("post_notification_source_address");
     $message->setFrom($from);
     // now send the message
     $service = new EmailService();
     if (!$service->sendMessage($message)) {
         // if something went wrong, go back to the previous view
         $this->_view = new MailCentreSendMessageView($this->_blogInfo);
         $this->_view->setErrorMessage($this->_locale->tr("mailcentre_error_sending_message"));
         // show the view and keep the data that was in the form
         $this->setCommonData(true);
     }
     $recipients = implode(",", $list);
     $recipientsCc = implode(",", $listCc);
     $recipientsBcc = implode(",", $listBcc);
     // if everything went ok, create our own MailMessage object and save it to the database
     $mailMessage = new MailMessage($subject, $text, $recipients, $recipientsCc, $recipientsBcc);
     $mailMessages = new MailMessages();
     $mailMessages->addMessage($mailMessage);
     // show the resulting view
     $this->_view = new MailCentreMessageListView($this->_blogInfo);
     $this->_view->setSuccessMessage($this->_locale->tr("mailcentre_message_sent_ok"));
     $this->setCommonData();
     return true;
 }
 /**
  * send confirm email to user.
  * user will active his/her account according to this email
  */
 function sendConfirmEmail()
 {
     $activeCode = $this->generateActiveCode();
     // store the active code to the backend db in the properties field of user table
     $users = new Users();
     $userInfo = $users->getUserInfoFromUsername($this->userName);
     $userInfo->setProperties(array("activeCode" => $activeCode));
     $users->updateUser($userInfo);
     $message = new ConfirmEmailMessage();
     $message->setFrom($this->_config->getValue("post_notification_source_address"));
     $message->addTo($this->userEmail);
     $message->setSubject("pLog user registration confirmation for: " . $this->userName);
     $message->setUsername($this->userName);
     $message->setActiveCode($activeCode);
     // create active Link
     $base_url = $this->_config->getValue("base_url");
     $message->setActiveLink($base_url . "/summary.php?op=activeAccount&username="******"&activeCode=" . $activeCode);
     $message->createBody();
     $service = new EmailService();
     $service->sendMessage($message);
 }