/** * 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; } }
/** * @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); }
/** * 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; } }
//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; }
/** * @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 über das Ereignis<b> ' . \OCP\Util::sanitizeHTML($summary) . '</b> , geplant für <b>' . date('d.m.Y', $tmpStartDate) . '.</b> Um das Ereignis zum Kalender hinzuzufü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); }