Example #1
0
 /**
  * send an email
  *
  * @param string $toaddress
  * @param string $toname
  * @param string $subject
  * @param string $mailtext
  * @param string $fromaddress
  * @param string $fromname
  * @param bool $html
  */
 public static function send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '')
 {
     $SMTPMODE = OC_Config::getValue('mail_smtpmode', 'sendmail');
     $SMTPHOST = OC_Config::getValue('mail_smtphost', '127.0.0.1');
     $SMTPAUTH = OC_Config::getValue('mail_smtpauth', false);
     $SMTPUSERNAME = OC_Config::getValue('mail_smtpname', '');
     $SMTPPASSWORD = OC_Config::getValue('mail_smtppassword', '');
     $mailo = new PHPMailer(true);
     if ($SMTPMODE == 'sendmail') {
         $mailo->IsSendmail();
     } elseif ($SMTPMODE == 'smtp') {
         $mailo->IsSMTP();
     } elseif ($SMTPMODE == 'qmail') {
         $mailo->IsQmail();
     } else {
         $mailo->IsMail();
     }
     $mailo->Host = $SMTPHOST;
     $mailo->SMTPAuth = $SMTPAUTH;
     $mailo->Username = $SMTPUSERNAME;
     $mailo->Password = $SMTPPASSWORD;
     $mailo->From = $fromaddress;
     $mailo->FromName = $fromname;
     $mailo->Sender = $fromaddress;
     $a = explode(' ', $toaddress);
     try {
         foreach ($a as $ad) {
             $mailo->AddAddress($ad, $toname);
         }
         if ($ccaddress != '') {
             $mailo->AddCC($ccaddress, $ccname);
         }
         if ($bcc != '') {
             $mailo->AddBCC($bcc);
         }
         $mailo->AddReplyTo($fromaddress, $fromname);
         $mailo->WordWrap = 50;
         if ($html == 1) {
             $mailo->IsHTML(true);
         } else {
             $mailo->IsHTML(false);
         }
         $mailo->Subject = $subject;
         if ($altbody == '') {
             $mailo->Body = $mailtext . OC_MAIL::getfooter();
             $mailo->AltBody = '';
         } else {
             $mailo->Body = $mailtext;
             $mailo->AltBody = $altbody;
         }
         $mailo->CharSet = 'UTF-8';
         $mailo->Send();
         unset($mailo);
         OC_Log::write('mail', 'Mail from ' . $fromname . ' (' . $fromaddress . ')' . ' to: ' . $toname . '(' . $toaddress . ')' . ' subject: ' . $subject, OC_Log::DEBUG);
     } catch (Exception $exception) {
         OC_Log::write('mail', $exception->getMessage(), OC_Log::ERROR);
         throw $exception;
     }
 }
Example #2
0
 /**
  * @brief send an email
  * @param string $toaddress
  * @param string $toname
  * @param string $subject
  * @param string $mailtext
  * @param string $fromaddress
  * @param string $fromname
  * @param bool $html
  */
 public static function sendMail($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '')
 {
     // call the internal mail class
     \OC_MAIL::send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html, $altbody, $ccaddress, $ccname, $bcc);
 }
Example #3
0
 /**
  * send an email
  *
  * @param string $toaddress
  * @param string $toname
  * @param string $subject
  * @param string $mailtext
  * @param string $fromaddress
  * @param string $fromname
  * @param integer $html
  * @param string $altbody
  * @param string $ccaddress
  * @param string $ccname
  * @param string $bcc
  * @throws Exception
  */
 public static function send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '')
 {
     $SMTPMODE = OC_Config::getValue('mail_smtpmode', 'sendmail');
     $SMTPHOST = OC_Config::getValue('mail_smtphost', '127.0.0.1');
     $SMTPPORT = OC_Config::getValue('mail_smtpport', 25);
     $SMTPAUTH = OC_Config::getValue('mail_smtpauth', false);
     $SMTPAUTHTYPE = OC_Config::getValue('mail_smtpauthtype', 'LOGIN');
     $SMTPUSERNAME = OC_Config::getValue('mail_smtpname', '');
     $SMTPPASSWORD = OC_Config::getValue('mail_smtppassword', '');
     $SMTPDEBUG = OC_Config::getValue('mail_smtpdebug', false);
     $SMTPTIMEOUT = OC_Config::getValue('mail_smtptimeout', 10);
     $SMTPSECURE = OC_Config::getValue('mail_smtpsecure', '');
     $mailo = new PHPMailer(true);
     if ($SMTPMODE == 'sendmail') {
         $mailo->IsSendmail();
     } elseif ($SMTPMODE == 'smtp') {
         $mailo->IsSMTP();
     } elseif ($SMTPMODE == 'qmail') {
         $mailo->IsQmail();
     } else {
         $mailo->IsMail();
     }
     $mailo->Host = $SMTPHOST;
     $mailo->Port = $SMTPPORT;
     $mailo->SMTPAuth = $SMTPAUTH;
     $mailo->SMTPDebug = $SMTPDEBUG;
     $mailo->SMTPSecure = $SMTPSECURE;
     $mailo->AuthType = $SMTPAUTHTYPE;
     $mailo->Username = $SMTPUSERNAME;
     $mailo->Password = $SMTPPASSWORD;
     $mailo->Timeout = $SMTPTIMEOUT;
     $mailo->From = $fromaddress;
     $mailo->FromName = $fromname;
     $mailo->Sender = $fromaddress;
     $mailo->XMailer = ' ';
     try {
         $toaddress = self::buildAsciiEmail($toaddress);
         $mailo->AddAddress($toaddress, $toname);
         if ($ccaddress != '') {
             $mailo->AddCC($ccaddress, $ccname);
         }
         if ($bcc != '') {
             $mailo->AddBCC($bcc);
         }
         $mailo->AddReplyTo($fromaddress, $fromname);
         $mailo->WordWrap = 78;
         $mailo->IsHTML($html == 1);
         $mailo->Subject = $subject;
         if ($altbody == '') {
             $mailo->Body = $mailtext . OC_MAIL::getfooter();
             $mailo->AltBody = '';
         } else {
             $mailo->Body = $mailtext;
             $mailo->AltBody = $altbody;
         }
         $mailo->CharSet = 'UTF-8';
         $mailo->Send();
         unset($mailo);
         OC_Log::write('mail', 'Mail from ' . $fromname . ' (' . $fromaddress . ')' . ' to: ' . $toname . '(' . $toaddress . ')' . ' subject: ' . $subject, OC_Log::DEBUG);
     } catch (Exception $exception) {
         OC_Log::write('mail', $exception->getMessage(), OC_Log::ERROR);
         throw $exception;
     }
 }
Example #4
0
//no apps
require_once '../../lib/base.php';
// Someone lost their password:
if (isset($_POST['user'])) {
    if (OC_User::userExists($_POST['user'])) {
        $token = sha1($_POST['user'] . md5(uniqid(rand(), true)));
        OC_Preferences::setValue($_POST['user'], 'owncloud', 'lostpassword', $token);
        $email = OC_Preferences::getValue($_POST['user'], 'settings', 'email', '');
        if (!empty($email) and isset($_POST['sectoken']) and isset($_SESSION['sectoken']) and $_POST['sectoken'] == $_SESSION['sectoken']) {
            $link = OC_Helper::linkToAbsolute('core/lostpassword', 'resetpassword.php') . '?user='******'user'] . '&token=' . $token;
            $tmpl = new OC_Template('core/lostpassword', 'email');
            $tmpl->assign('link', $link);
            $msg = $tmpl->fetchPage();
            $l = OC_L10N::get('core');
            $from = 'lostpassword-noreply@' . OC_Helper::serverHost();
            OC_MAIL::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud');
            echo 'sent';
        }
        $sectoken = rand(1000000, 9999999);
        $_SESSION['sectoken'] = $sectoken;
        OC_Template::printGuestPage('core/lostpassword', 'lostpassword', array('error' => false, 'requested' => true, 'sectoken' => $sectoken));
    } else {
        $sectoken = rand(1000000, 9999999);
        $_SESSION['sectoken'] = $sectoken;
        OC_Template::printGuestPage('core/lostpassword', 'lostpassword', array('error' => true, 'requested' => false, 'sectoken' => $sectoken));
    }
} else {
    $sectoken = rand(1000000, 9999999);
    $_SESSION['sectoken'] = $sectoken;
    OC_Template::printGuestPage('core/lostpassword', 'lostpassword', array('error' => false, 'requested' => false, 'sectoken' => $sectoken));
}
 /**
  * inform recipient about public link share
  *
  * @param string $recipient recipient email address
  * @param string $filename the shared file
  * @param string $link the public link
  * @param int $expiration expiration date (timestamp)
  * @return array $result of failed recipients
  */
 public function sendLinkShareMail($recipient, $filename, $link, $expiration)
 {
     $subject = (string) $this->l->t('%s shared »%s« with you', array($this->senderDisplayName, $filename));
     list($htmlMail, $alttextMail) = $this->createMailBody($filename, $link, $expiration);
     $rs = explode(' ', $recipient);
     $failed = array();
     foreach ($rs as $r) {
         try {
             \OC_MAIL::send($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail, '', '', '', $this->replyTo);
         } catch (\Exception $e) {
             \OCP\Util::writeLog('sharing', "Can't send mail with public link to {$r}: " . $e->getMessage(), \OCP\Util::ERROR);
             $failed[] = $r;
         }
     }
     return $failed;
 }
Example #6
0
 /**
  * @brief use to create HTML emails and send them
  * @param $eventid The event id
  * @param $location The location
  * @param $description The description
  * @param $dtstart The start date
  * @param $dtend The end date
  *
  */
 public static function sendEmails($eventid, $summary, $dtstart, $dtend, $emails)
 {
     $user = \OCP\User::getDisplayName();
     $useremail = \OCP\Util::getDefaultEmailAddress('sharing-noreply');
     $eventsharees = array();
     $eventShareesNames = array();
     //$emails = array();
     //$data = App::getEventObject($eventid, true);
     $data = Export::export($eventid, Export::EVENT);
     $tmpStartDate = strtotime($dtstart);
     $myFile = date('Ymd', $tmpStartDate) . '.ics';
     $fh = fopen(\OCP\User::getHome($user) . '/files/' . $myFile, "x+");
     fwrite($fh, $data);
     fclose($fh);
     $attach['path'] = \OCP\User::getHome($user) . '/files/' . $myFile;
     $attach['name'] = $myFile;
     //$useremail = Calendar::getUsersEmails($user);
     //$testEmail=explode(",",$emails);
     //if(count($testEmail)>1)
     foreach ($emails as $email) {
         if ($email === null) {
             continue;
         }
         $subject = 'Termineinladung/ Calendar Invitation';
         $message = '<b>' . $user . '</b> informiert Sie &uuml;ber das Ereignis<b> ' . \OCP\Util::sanitizeHTML($summary) . '</b> , geplant f&uuml;r <b>' . date('d.m.Y', $tmpStartDate) . '.</b> 
          Um das Ereignis zum Kalender hinzuzuf&uuml;gen, klicken Sie auf den Link.<br><br>';
         \OC_MAIL::send($email, "User", $subject, $message, $useremail, $user, $html = 1, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '', $attach);
     }
     unlink(\OCP\User::getHome($user) . '/files/' . $myFile);
 }