/** * Email admin * @param string $status Message status e.g. error, success, debug * @param string $msg Message to email * @param boolean $email Email to admin, default false * @return boolean */ public static function emailAdmin($status, $msg) { // Check admin email constants are defined if (!defined('EMAIL_FROM')) { status::Output('ERROR', 'EMAIL_FROM not specified'); return; } if (!defined('AUTHOR_NAME')) { status::Output('ERROR', 'AUTHOR_NAME not specified'); return; } if (!defined('AUTHOR_EMAIL')) { status::Output('ERROR', 'AUTHOR_EMAIL not specified'); return; } // Create email $email = new Email(); if (defined('EMAIL_SMTP') && EMAIL_SMTP) { $email->setSMTPStream(); } else { $email->setPHPMail(); } // Set message $email->addHTML("\n\t\t\t<p>CLI email from " . EMAIL_DOMAIN . ":<br />\n\t\t\tstatus: " . $status . "<br />\n\t\t\tmessage: " . nl2br($msg) . "\n\t\t\t</p>\n\t\t"); // Send to admin $email->addRecipient(AUTHOR_EMAIL, AUTHOR_NAME); if ($email->Send(EMAIL_FROM, 'CLI Message') && !\Sonic\Message::count('error')) { return TRUE; } else { return FALSE; } }
/** * Tests the `clearRecipients` method. * * @return void * @access public */ public function testClearRecipients() { $this->assertIdentical($this->_object->getRecipients(), array()); // Add a recipient and confirm we have one added. $this->_object->addRecipient('*****@*****.**'); $this->assertIdentical(count($this->_object->getRecipients()), 1); // Clear the recipients and confirm it's gone. $this->_object->clearRecipients(); $this->assertIdentical(count($this->_object->getRecipients()), 0); }
/** * Email the welcome message and return to the view account page */ function send_email() { // Construct an Email $email = new Email(); $email->setFrom($this->conf['company']['email'], $this->conf['company']['name']); $email->addRecipient($this->session['welcome_email']['email']); $email->setSubject($this->session['welcome_email']['subject']); $email->setBody($this->session['welcome_email']['email_body']); // Send the email if (!$email->send()) { // Error delivering invoice throw new SWUserException("[WELCOME_EMAIL_FAILED]"); } // Return to view_account with a sucess message $this->setMessage(array("type" => "[WELCOME_SENT]")); $this->gotoPage("accounts_view_account", null, "account=" . $this->get['account']->getID()); }
public static function sendVerificationMail($email, $mailVerificationToken) { $mailSubject = CONFIG_SITE_NAME . ': Verify your email address'; $mailDomain = parse_url(CONFIG_ROOT_URL, PHP_URL_HOST); $mail = new Email(CONFIG_SITE_EMAIL, CONFIG_SITE_NAME, $mailSubject); $mail->addRecipient($email); $mail->addLine('Hello ' . self::getUserName() . ','); $mail->addLine(''); $mail->addLine('Please open the following link in order to verify your email address on ' . CONFIG_SITE_NAME . ':'); $mail->addLine(URL::toEmailVerification($mailVerificationToken)); $mail->addLine(''); $mail->addLine('If you did not sign up on ' . CONFIG_SITE_NAME . ' and enter your email address there, please just ignore this email and accept our excuses.'); $mail->addLine(''); $mail->addLine('Regards'); $mail->addLine(CONFIG_SITE_NAME); $mail->addLine($mailDomain); $mail->send(); }
$status[addslashes($name)] = $value; } } // Ensure that email and rationale were provided if ($email == '' || !Email::isValidEmail($email) || $rationale == '' || !isUTF8($rationale) || mb_strlen($rationale) > 125) { getMissingInfo($email, $rationale, $status); } else { if ($_SERVER['PATH_INFO'] == '/confirm') { updateDB($email, $rationale, $status); outputConfirmed(); } else { $body = getMailConfirmRequest($email, $rationale, $status); $sig = "HTML5 Status Updates\nhttp://www.whatwg.org/html5"; $mail = new Email(); $mail->setSubject("HTML5 Status Update"); $mail->addRecipient('To', '*****@*****.**', 'Lachlan Hunt'); $mail->setFrom("*****@*****.**", "WHATWG"); $mail->setSignature($sig); $mail->setText($body); $mail->send(); outputConfirmation($body, $sig); } } function getMissingInfo($email, $rationale, $status) { ?> <title>Update Status Error</title> <p>You must provide a valid email address and rationale that is ≤ 125 characters.</p> <form method="post" action=""> <p><label for="email">Email: <input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email);
function email($to, $subject, $message, $headers = null, $params = null) { // Basic validation for to address(es) if (!strpos($to, "@")) { return false; } // Create new instance of email class $email = new Email(); // Generate recipient details $recipients = explode(",", $to); // Proccess multiple addresses for ($i = 0; $i < count($recipients); $i++) { // Check for name and email combination and add apropriately if (strpos($recipients[$i], '<')) { $recipient = explode("<", $recipients[$i], 2); $email->addRecipient(trim(str_replace('"', '', $recipient[0])), trim(str_replace('>', '', @$recipient[1]))); } else { $email->addRecipient(trim($recipients[$i])); } } // Set subject $email->setSubject($subject); // Generate Headers $headers = explode("\r\n", $headers); for ($i = 0; $i < count($headers); $i++) { $email->addHeader($headers[$i]); } // Set message content $email->setMessage($message); // Check for specified sender if (strpos($params, "-f") !== false) { $sender = explode('-f', $params); $sender = explode(' ', @$sender[1]); $sender = trim($sender[0]); $email->setAnnounceEmail($sender); } // Send message return $email->send(); }
WHERE rol_id = ' . $group[0] . ' AND ( cat_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' OR cat_org_id IS NULL ) AND usr_valid = 1 ' . $sqlConditions; // Wenn der User eingeloggt ist, wird die UserID im Statement ausgeschlossen, // damit er die Mail nicht an sich selber schickt. if ($gValidLogin) { $sql = $sql . ' AND usr_id <> ' . $gCurrentUser->getValue('usr_id'); } $statement = $gDb->query($sql); if ($statement->rowCount() > 0) { // normaly we need no To-address and set "undisclosed recipients", but if // that won't work than the From-address will be set if ($gPreferences['mail_sender_into_to'] == 1) { // always fill recipient if preference is set to prevent problems with provider $email->addRecipient($postFrom, $postName); } // all role members will be attached as BCC while ($row = $statement->fetchObject()) { if (strValidCharacters($row->email, 'email')) { $receiver[] = array($row->email, $row->first_name . ' ' . $row->last_name); } } } } else { // create user object $user = new User($gDb, $gProfileFields, $value); // only send email to user if current user is allowed to view this user and he has a valid email address if ($gCurrentUser->hasRightViewProfile($user) && strValidCharacters($user->getValue('EMAIL'), 'email')) { $receiver[] = array($user->getValue('EMAIL'), $user->getValue('FIRST_NAME') . ' ' . $user->getValue('LAST_NAME')); }
/** * Diese Funktion ruft die Mail Klasse auf und uebergibt ihr die zu sendenden Daten * @param $senderName * @param $senderEmail * @param $ecardHtmlData geparste Daten vom Template * @param $recipientName der Name des Empfaengers * @param $recipientEmail die Email des Empfaengers * @param $photoServerPath der Pfad wo die Bilder in der Grußkarte am Server liegen */ public function sendEcard($senderName, $senderEmail, $ecardHtmlData, $recipientName, $recipientEmail, $photoServerPath) { global $gPreferences; $img_photo_path = ''; $returnCode = true; $email = new Email(); $email->setSender($senderEmail, $senderName); $email->setSubject($this->newMessageReceivedString); $email->addRecipient($recipientEmail, $recipientName); // alle Bilder werden aus dem Template herausgeholt, damit diese als Anhang verschickt werden koennen if (preg_match_all("/(<img.*src=\")(.*)(\".*>)/Uim", $ecardHtmlData, $matchArray)) { //$matchArray[0] = $this->deleteDoubleEntries($matchArray[0]); //$matchArray[2] = $this->deleteDoubleEntries($matchArray[2]); $matchArray[0] = array_unique($matchArray[0]); $matchArray[2] = array_unique($matchArray[2]); for ($i = 0; $i < count($matchArray[0]); ++$i) { // anstelle der URL muss nun noch der Server-Pfad gesetzt werden $img_server_path = str_replace(THEME_PATH, THEME_SERVER_PATH, $matchArray[2][$i]); $img_server_path = str_replace($GLOBALS['g_root_path'], SERVER_PATH, $img_server_path); // wird das Bild aus photo_show.php generiert, dann den uebergebenen Pfad zum Bild einsetzen if (strpos($img_server_path, 'photo_show.php') !== false) { $img_server_path = $photoServerPath; } // Bildnamen und Typ ermitteln $img_name = substr(strrchr($img_server_path, '/'), 1); $img_type = substr(strrchr($img_name, '.'), 1); // das zu versendende eigentliche Bild, muss noch auf das entsprechende Format angepasst werden if (strpos($matchArray[2][$i], 'photo_show.php') !== false) { $img_name = 'picture.' . $img_type; $img_name_intern = substr(md5(uniqid($img_name . time())), 0, 8) . '.' . $img_type; $img_server_path = SERVER_PATH . '/adm_my_files/photos/' . $img_name_intern; $img_photo_path = $img_server_path; $image_sized = new Image($photoServerPath); $image_sized->scale($gPreferences['ecard_card_picture_width'], $gPreferences['ecard_card_picture_height']); $image_sized->copyToFile(null, $img_server_path); } // Bild als Anhang an die Mail haengen if ($img_name !== 'none.jpg' && $img_name !== '') { $uid = md5(uniqid($img_name . time())); try { $email->AddEmbeddedImage($img_server_path, $uid, $img_name, $encoding = 'base64', 'image/' . $img_type); } catch (phpmailerException $e) { $returnCode = $e->errorMessage(); } $ecardHtmlData = str_replace($matchArray[2][$i], 'cid:' . $uid, $ecardHtmlData); } } } $email->setText($ecardHtmlData); $email->sendDataAsHtml(); if ($returnCode == true) { $returnCode = $email->sendEmail(); } // nun noch das von der Groesse angepasste Bild loeschen unlink($img_photo_path); return $returnCode; }
$group2 = false; $group3 = false; $group4 = false; $group5 = false; /* Step 5: Add any custom fields here */ foreach ($config['fields'] as $field => $field_opts) { $fh->addField(new FormFieldText($field, \Arr::get($field_opts, 'required', false))); } /* Correct Field order */ $fh->fields = array_reverse($fh->fields); /* Leave this line as is */ require '/var/www/shared/formincludes/signupFormFooter.php'; $confirmation = \Arr::get($config, 'confirmationEmail', null); if ($fh->showSuccessText && $confirmation) { $enquiryEmail = new Email(); $enquiryEmail->addRecipient($site_email); if (isset($config['recipients']) && $config['recipients']) { foreach ($config['recipients'] as $recipient) { $enquiryEmail->addRecipient($recipient); } } $enquiryEmail->setSubject('Booking reservation ' . $fh->fields['date']->value . ", " . $fh->fields['forename']->value . " " . $fh->fields['surname']->value); $enquiryEmail->setFromEmail($site_email); $enquiryEmail->setReplyTo($fh->fields['email']->value); $enquiryEmail->setFromName($sitename); $html = file_get_contents(DOCROOT . 'mailers/' . $confirmation . '.html'); $html = str_replace("[!sitename]", $sitename, $html); $html = str_replace("[!facebook]", $social['facebook'], $html); $html = str_replace("[!submitDate]", date('j/n/Y'), $html); $html = str_replace("[!submitTime]", date('H:i'), $html); $html = str_replace("[!twitter]", $social['twitter'], $html);
function email($to, $subject, $message, $headers = null, $params = null) { if (!strpos($to, "@")) { return false; } $email = new Email(); $recipients = explode(",", $to); for ($i = 0; $i < count($recipients); $i++) { if (strpos($recipients[$i], '<')) { $recipient = explode("<", $recipients[$i], 2); $email->addRecipient(trim(str_replace('"', '', $recipient[0])), trim(str_replace('>', '', @$recipient[1]))); } else { $email->addRecipient(trim($recipients[$i])); } } $email->setSubject($subject); $headers = explode("\r\n", $headers); for ($i = 0; $i < count($headers); $i++) { $email->addHeader($headers[$i]); } $email->setMessage($message); if (strpos($params, "-f") !== false) { $sender = explode('-f', $params); $sender = explode(' ', @$sender[1]); $sender = trim($sender[0]); $email->setAnnounceEmail($sender); } return $email->send(); }
public static function sendNotificationToWatchers($repositoryID, $eventID, $repositoryName) { $watchers = Database::getWatchers($repositoryID, $eventID); $recipients = array(); $recipientIDs = array(); foreach ($watchers as $watcher) { if ($watcher['email'] != '') { // if user has set an email address if ($watcher['email_lastVerificationAttempt'] == 0) { // if email address has been verified if (Authentication::mayReceiveNotificationsAgain($watcher['lastNotification'])) { // only one notification per 24 hours $recipients[] = $watcher['email']; $recipientIDs[] = $watcher['userID']; } } } } if (count($recipients) > 0) { // if there are users who must be notified $mailDomain = parse_url(CONFIG_ROOT_URL, PHP_URL_HOST); switch ($eventID) { case self::WATCH_EVENT_UPDATED_PHRASES: $mailSubject = 'Localize: Updated phrases for ' . $repositoryName; $mailIntroduction = 'There has been an update to the phrases of \'' . $repositoryName . '\' on ' . CONFIG_SITE_NAME . ':'; break; case self::WATCH_EVENT_NEW_TRANSLATIONS: $mailSubject = 'Localize: New translations for ' . $repositoryName; $mailIntroduction = 'New translations have been submitted to \'' . $repositoryName . '\' on ' . CONFIG_SITE_NAME . ':'; break; default: throw new Exception('Unknown event ID: ' . $eventID); } $mail = new Email(CONFIG_SITE_EMAIL, CONFIG_SITE_NAME, $mailSubject); foreach ($recipients as $recipient) { $mail->addRecipient($recipient, true); } $mail->addLine('Hello,'); $mail->addLine(''); $mail->addLine($mailIntroduction); $mail->addLine(URL::toProjectShort($repositoryID)); $mail->addLine(''); $mail->addLine('You are receiving this email because you have added \'' . $repositoryName . '\' to your personal watch list.'); $mail->addLine(''); $mail->addLine('Regards'); $mail->addLine(CONFIG_SITE_NAME); $mail->addLine($mailDomain); Database::setWatchersLastNotification($recipientIDs, time()); $mail->send(); } }
/** * Complete Order * * Set the status to "Pending" and the data completed to now, then update DB */ public function complete() { // Set status to pending and give a timestamp $this->setStatus("Pending"); $this->setDateCompleted(DBConnection::format_datetime(time())); // Update the database record update_OrderDBO($this); // Notification e-mail $body = $this->replaceTokens($conf['order']['notification_email']); $notifyEmail = new Email(); $notifyEmail->addRecipient($conf['company']['notification_email']); $notifyEmail->setFrom($conf['company']['email'], "SolidState"); $notifyEmail->setSubject($conf['order']['notification_subject']); $notifyEmail->setBody($body); if (!$notifyEmail->send()) { log_error("OrderDBO::complete()", "Failed to send notification e-mail."); } // Confirmation e-mail $body = $this->replaceTokens($conf['order']['confirmation_email']); $confirmEmail = new Email(); $confirmEmail->addRecipient($this->getContactEmail()); $confirmEmail->setFrom($conf['company']['email'], $conf['company']['name']); $confirmEmail->setSubject($conf['order']['confirmation_subject']); $confirmEmail->setBody($body); if (!$confirmEmail->send()) { log_error("OrderDBO::complete()", "Failed to send confirmation e-mail."); } }
/** * Send Invoice Email * * Email the invoice and return to the view_invoice page */ function send_invoice() { // Construct an Email $email = new Email(); $email->setFrom($this->conf['company']['email'], $this->conf['company']['name']); $email->addRecipient($this->post['email']); $email->setSubject($this->post['subject']); $email->setBody($this->post['invoice']); // Send the email if (!$email->send()) { // Error delivering invoice throw new SWUserException("[INVOICE_EMAIL_FAILED]"); } // Return to view_invoice with a sucess message $this->setMessage(array("type" => "[INVOICE_SENT]")); $this->gotoPage("billing_view_invoice", null, "invoice=" . $this->get['invoice']->getID()); }