public static function sendMail($path) { if (!\OCP\User::isLoggedIn()) { return; } $email = \OCP\Config::getUserValue(\OCP\User::getUser(), 'settings', 'email', ''); \OCP\Util::writeLog('files_antivirus', 'Email: ' . $email, \OCP\Util::DEBUG); if (!empty($email)) { $defaults = new \OCP\Defaults(); $tmpl = new \OCP\Template('files_antivirus', 'notification'); $tmpl->assign('file', $path); $tmpl->assign('host', \OCP\Util::getServerHost()); $tmpl->assign('user', \OCP\User::getDisplayName()); $msg = $tmpl->fetchPage(); $from = \OCP\Util::getDefaultEmailAddress('security-noreply'); \OCP\Util::sendMail($email, \OCP\User::getUser(), \OCP\Util::getL10N('files_antivirus')->t('Malware detected'), $msg, $from, $defaults->getName(), true); } }
/** * Send a mail signaling a user deletion * @param \OC\User\User $user */ public function mailUserDeletion(\OC\User\User $user) { $toAddress = $toName = $this->config->getSystemValue('monitoring_admin_email'); $theme = new \OC_Defaults(); $now = new \DateTime(); $niceNow = date_format($now, 'd/m/Y H:i:s'); $subject = (string) $this->l->t('%s - User %s just has been deleted (%s)', array($theme->getTitle(), $user->getUID(), $niceNow)); $html = new \OCP\Template($this->appName, "mail_userdeletion_html", ""); $html->assign('userUID', $user->getUID()); $html->assign('datetime', $niceNow); $htmlMail = $html->fetchPage(); $alttext = new \OCP\Template($this->appName, "mail_userdeletion_text", ""); $alttext->assign('userUID', $user->getUID()); $alttext->assign('datetime', $niceNow); $altMail = $alttext->fetchPage(); $fromAddress = $fromName = \OCP\Util::getDefaultEmailAddress('owncloud'); try { \OCP\Util::sendMail($toAddress, $toName, $subject, $htmlMail, $fromAddress, $fromName, 1, $altMail); } catch (\Exception $e) { \OCP\Util::writeLog('user_account_actions', "Can't send mail for user deletion: " . $e->getMessage(), \OCP\Util::ERROR); } }
/** * send an email * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname * @param int $html * @param string $altbody * @param string $ccaddress * @param string $ccname * @param string $bcc */ public function sendMail($toaddress, $toname = "WeatherCloud User", $subject = "Verify your WeatherCloud registration request", $mailtext, $fromaddress, $fromname = "WeatherCloud", $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '') { // call the internal mail class \OCP\Util::sendMail($toaddress, $toname = "WeatherCloud User", $subject = "Verify your WeatherCloud registration request", $mailtext, $fromaddress, $fromname = "WeatherCloud", $html, $altbody, $ccaddress, $ccname, $bcc); }
/** * 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 { \OCP\Util::sendMail($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail); } 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; }
/** * Send a notification to one user * * @param string $user Username of the recipient * @param string $email Email address of the recipient * @param string $lang Selected language of the recipient * @param array $mailData Notification data we send to the user */ public function sendEmailToUser($user, $email, $lang, $mailData) { $l = $this->getLanguage($lang); $dataHelper = new DataHelper(\OC::$server->getActivityManager(), new ParameterHelper(new \OC\Files\View(''), $l), $l); $activityList = array(); foreach ($mailData as $activity) { $activityList[] = array($dataHelper->translation($activity['amq_appid'], $activity['amq_subject'], unserialize($activity['amq_subjectparams'])), $this->generateRelativeDatetime($l, $activity['amq_timestamp'])); } $alttext = new \OCP\Template('activity', 'email.notification', ''); $alttext->assign('username', \OCP\User::getDisplayName($user)); $alttext->assign('timeframe', $this->getLangForApproximatedTimeFrame($mailData[0]['amq_timestamp'])); $alttext->assign('activities', $activityList); $alttext->assign('owncloud_installation', \OC_Helper::makeURLAbsolute('/')); $alttext->assign('overwriteL10N', $l); $emailText = $alttext->fetchPage(); try { \OCP\Util::sendMail($email, $user, $l->t('Activity notification'), $emailText, $this->getSenderData('email'), $this->getSenderData('name')); } catch (\Exception $e) { \OCP\Util::writeLog('Activity', 'A problem occurred while sending the e-mail. Please revisit your settings.', \OCP\Util::ERROR); } }
$recipientList = array('name' => array(), 'email' => array()); $sendTo = explode(',', $recipients); foreach ($sendTo as $recipient) { if (preg_match_all($pattern, $recipient, $matches)) { // We have 'John Doe <*****@*****.**>' $recipientList['name'][] = $matches[1][0]; $recipientList['email'][] = $matches[2][0]; } else { // Name is unknown, we have email@example.org $recipientList['name'][] = ''; $recipientList['email'][] = $recipient; } } //We only use the first recipient atm. (OC_Mail doesn't support multiple CC) $nameTo = array_shift($recipientList['name']); $emailTo = array_shift($recipientList['email']); try { $emailFrom = \OCP\Util::getDefaultEmailAddress('noreply'); \OCP\Util::sendMail($emailTo, $nameTo, $subject, $message, $emailFrom, $nameFrom); } catch (Exception $e) { $status = false; } } else { $status = false; } if ($status) { \OCP\JSON::success(array()); } else { \OCP\JSON::error(array()); } exit;
$text = $content->fetchPage(); $content = new OC_Template("core", "altmail", ""); $content->assign('link', $link); $content->assign('type', $type); $content->assign('user_displayname', $displayName); $content->assign('filename', $file); $content->assign('expiration', $expiration); $alttext = $content->fetchPage(); $default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply'); $from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from); // send it out now $rs = explode(' ', $to_address); $failed = array(); foreach ($rs as $r) { try { \OCP\Util::sendMail($r, $r, $subject, $text, $from_address, $displayName, 1, $alttext); } catch (\Exception $e) { \OCP\Util::writeLog('sharing', "Can't send mail with public link to {$r}: " . $e->getMessage(), \OCP\Util::ERROR); $failed[] = $r; } } if (empty($failed)) { OCP\JSON::success(); } else { OCP\JSON::error(array('data' => array('message' => $l->t("Couldn't send mail to following users: %s ", implode(', ', $failed))))); } break; } } else { if (isset($_GET['fetch'])) { switch ($_GET['fetch']) {
/** * send an email * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname * @param int $html * @param string $altbody * @param string $ccaddress * @param string $ccname * @param string $bcc */ public function sendMail($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '') { // call the internal mail class \OCP\Util::sendMail($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html, $altbody, $ccaddress, $ccname, $bcc); }
/** * Adds the user to the reject group and send an email to the administrator to inform them of the request for deletion * * @author Victor Bordage-Gorry <*****@*****.**> * @copyright 2015 CNRS DSI / GLOBALIS media systems * * @param string $requesterUid User's Uid */ public function mailDeleteAccount($requesterUid) { $reason = trim(strip_tags(stripslashes($_POST['deletion_reason']))); if (empty($reason) || $reason === '') { return false; } // User modification, add to rejected group $user = $this->userManager->get($requesterUid); $userGroups = $this->groupManager->getUserGroupIds($user); // get the user's exclusion group. $configGroups = $this->config->getSystemValue('deletion_account_request_exclusion_groups'); if (is_array($configGroups)) { foreach ($configGroups as $groupKey => $groupValue) { if (in_array($groupKey, $userGroups)) { if ($this->groupManager->groupExists($groupValue)) { $group = $this->groupManager->get($groupValue); } else { $group = $this->groupManager->createGroup($groupValue); } break; } } } // if $group unset, we use the default value if (empty($group)) { $val = $this->config->getSystemValue('deletion_account_request_default_exclusion_group'); if ($this->groupManager->groupExists($val)) { $group = $this->groupManager->get($val); } else { $group = $this->groupManager->createGroup($val); } } $group->addUser($user); // get the admin's mail $configMails = $this->config->getSystemValue('deletion_account_request_admin_emails'); if (is_array($configMails)) { foreach ($configMails as $mailKey => $mailValue) { if (in_array($mailKey, $userGroups)) { $toAddress = $toName = $mailValue; break; } } } // if $toAdress unset, we use the default value if (empty($toAdress)) { $toAddress = $toName = $this->config->getSystemValue('deletion_account_request_default_admin_email'); } // Mail part $theme = new \OC_Defaults(); $subject = (string) $this->l->t('Request for deleting account: %s', array($requesterUid)); // generate the content $html = new \OCP\Template($this->appName, "mail_userdeletion_html", ""); $html->assign('overwriteL10N', $this->l); $html->assign('requesterUid', $requesterUid); $html->assign('reason', $_POST['deletion_reason']); $htmlMail = $html->fetchPage(); $alttext = new \OCP\Template($this->appName, "mail_userdeletion_text", ""); $alttext->assign('overwriteL10N', $this->l); $alttext->assign('requesterUid', $requesterUid); $alttext->assign('reason', $reason); $altMail = $alttext->fetchPage(); $fromAddress = $fromName = \OCP\Util::getDefaultEmailAddress('owncloud'); //sending try { \OCP\Util::sendMail($toAddress, $toName, $subject, $htmlMail, $fromAddress, $fromName, 1, $altMail); } catch (\Exception $e) { \OCP\Util::writeLog('user_account_actions', "Can't send mail for user creation: " . $e->getMessage(), \OCP\Util::ERROR); } // logout and redirect \OCP\User::logout(); \OC_Util::redirectToDefaultPage(); exit; }
/** * send an email * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname */ public function sendMail($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname) { return \OCP\Util::sendMail($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname); }