/**
  * Tests the addRecipient method.
  *
  * @covers  JMail::addRecipient
  *
  * @return void
  */
 public function testAddRecipient()
 {
     $recipient = '*****@*****.**';
     $name = 'test_name';
     $expected = array(array('*****@*****.**', 'test_name'));
     $this->object->addRecipient($recipient, $name);
     $this->assertThat($expected, $this->equalTo(TestReflection::getValue($this->object, 'to')));
 }
Esempio n. 2
0
 /**
  * Launch notification
  * @return string
  */
 public function notify()
 {
     if ($recipients = $this->_getRecipients()) {
         $body = JString::trim($this->renderBody());
         if (empty($body)) {
             return null;
         }
         $this->_mailer->setSubject($this->_getMailSubject());
         $this->_mailer->setSender($this->_getMailSender());
         $this->_mailer->isHtml($this->_isHtml());
         $this->_mailer->setBody($body);
         foreach ($recipients as $recEmail => $recName) {
             // send message
             $this->_mailer->addRecipient(array($recEmail, $recName));
             $this->_mailer->send();
             $this->_mailer->ClearAllRecipients();
             if ($this->_isSleep()) {
                 // simple antispam
                 sleep(1);
             }
         }
     }
 }
Esempio n. 3
0
 /**
  * @param  JMail  $mail
  * @param  array  $receivers
  *
  * @return boolean
  */
 public static function send(JMail $mail, array $receivers)
 {
     $config = KunenaFactory::getConfig();
     if (!empty($config->email_recipient_count)) {
         $email_recipient_count = $config->email_recipient_count;
     } else {
         $email_recipient_count = 1;
     }
     $email_recipient_privacy = $config->get('email_recipient_privacy', 'bcc');
     // If we hide email addresses from other users, we need to add TO address to prevent email from becoming spam.
     if ($email_recipient_count > 1 && $email_recipient_privacy == 'bcc' && JMailHelper::isEmailAddress($config->get('email_visible_address'))) {
         $mail->AddAddress($config->email_visible_address, JMailHelper::cleanAddress($config->board_title));
         // Also make sure that email receiver limits are not violated (TO + CC + BCC = limit).
         if ($email_recipient_count > 9) {
             $email_recipient_count--;
         }
     }
     $chunks = array_chunk($receivers, $email_recipient_count);
     $success = true;
     foreach ($chunks as $emails) {
         if ($email_recipient_count == 1 || $email_recipient_privacy == 'to') {
             echo 'TO ';
             $mail->ClearAddresses();
             $mail->addRecipient($emails);
         } elseif ($email_recipient_privacy == 'cc') {
             echo 'CC ';
             $mail->ClearCCs();
             $mail->addCC($emails);
         } else {
             echo 'BCC ';
             $mail->ClearBCCs();
             $mail->addBCC($emails);
         }
         try {
             $mail->Send();
         } catch (Exception $e) {
             $success = false;
             JLog::add($e->getMessage(), JLog::ERROR, 'kunena');
         }
     }
     return $success;
 }
 /**
  * @param JMail $mail
  */
 private function set_to(&$mail)
 {
     $addr = $this->FieldsBuilder->Fields['sender1']['Value'];
     $mail->addRecipient(JMailHelper::cleanAddress($addr));
 }
Esempio n. 5
0
 public static function sendEmail($from, $fromName, $replyTo, $toEmail, $cc, $bcc, $subject, $content, $isHtml)
 {
     jimport('joomla.mail.mail');
     $mail = new JMail();
     $mail->setSender(array($from, $fromName));
     if (isset($replyTo)) {
         $mail->addReplyTo($replyTo);
     }
     $mail->addRecipient($toEmail);
     if (isset($cc)) {
         $mail->addCC($cc);
     }
     if (isset($bcc)) {
         $mail->addBCC($bcc);
     }
     $mail->setSubject($subject);
     $mail->setBody($content);
     $mail->IsHTML($isHtml);
     $ret = $mail->send();
     $log = Logger::getInstance();
     $log->LogDebug("E-mail with subject " . $subject . " sent from " . $from . " to " . $toEmail . " " . serialize($bcc) . " result:" . $ret);
     return $ret;
 }
Esempio n. 6
0
	function sendNotification($warnings){
		$app = JFactory::getApplication();
		$p_sendTo = $this->params->get('sendto','');
		if(!$p_sendTo) $p_sendTo = $app->getCfg('mailfrom');
		
		$warning = implode("\r\n", $warnings);
		$warning .= "\r\n\r\n";

		$warning .= "**PAGE / SERVER INFO\r\n";
		$warning .= "\r\n\r\n";
		foreach(explode(',', 'REMOTE_ADDR,HTTP_USER_AGENT,REQUEST_METHOD,QUERY_STRING,HTTP_REFERER') as $sg){
			if(!isset($_SERVER[$sg])) continue;
			$warning .= "*{$sg} :\r\n{$_SERVER[$sg]}\r\n\r\n";
		}
		$warning .= "\r\n\r\n";
		
		$warning .= "** SUPERGLOBALS DUMP (sanitized)\r\n";
		
		$warning .= "\r\n\r\n";
		$warning .= '*$_GET DUMP';
		$warning .= "\r\n";
		foreach($_GET as $k => $v){
			$warning .= " -[$k] => $v\r\n";
		}

		$warning .= "\r\n\r\n";
		$warning .= '*$_POST DUMP';
		$warning .= "\r\n";
		foreach($_POST as $k => $v){
			$warning .= " -[$k] => $v\r\n";
		}

		$warning .= "\r\n\r\n";
		$warning .= '*$_COOKIE DUMP';
		$warning .= "\r\n";
		foreach($_COOKIE as $k => $v){
			$warning .= " -[$k] => $v\r\n";
		}

		$warning .= "\r\n\r\n";
		$warning .= '*$_REQUEST DUMP';
		$warning .= "\r\n";
		foreach($_REQUEST as $k => $v){
			$warning .= " -[$k] => $v\r\n";
		}
		
		jimport('joomla.mail.mail');
		$mail = new JMail();
		$mail->setsender($app->getCfg('mailfrom'));
		$mail->addRecipient($p_sendTo);
		$mail->setSubject($app->getCfg('sitename') . ' Marco\'s interceptor warning ' );
		$mail->setbody($warning);
		$mail->send();		
	}
Esempio n. 7
0
 function sendEmail($email)
 {
     jimport('joomla.mail.mail');
     $mail = new JMail();
     $applicationSettings = JBusinessUtil::getInstance()->getApplicationSettings();
     $mail->setSender(array($applicationSettings->company_email, $applicationSettings->company_name));
     $mail->addRecipient($email->to);
     $mail->setSubject($email->subject);
     $mail->setBody($email->content);
     $mail->IsHTML(true);
     $ret = $mail->send();
     return $ret;
 }