本文整理汇总了PHP中Email::send_mail方法的典型用法代码示例。如果您正苦于以下问题:PHP Email::send_mail方法的具体用法?PHP Email::send_mail怎么用?PHP Email::send_mail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Email
的用法示例。
在下文中一共展示了Email::send_mail方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send_activation_email
public function send_activation_email($email, $activate_key)
{
$activation = $this->generate_key();
$message = " To activate your account, please click on this link:\n\n";
$message .= DEFAULT_WEBSITE_URL . 'Activations/confirm/email=' . urlencode(trim($email)) . "/key={$activate_key}";
Email::init($email, 'Confirm Registration to ' . DEFAULT_HOSTNAME, $message);
Email::send_mail();
return TRUE;
}
示例2: request_reset
public function request_reset()
{
/* Controleren of de reCaptcha is geset en of er een waarde ingevuld is. */
if (!empty($_POST['g-recaptcha-response']) && !empty($_POST['vergeten'])) {
/* Controleren of de reCaptcha correct is. */
if (Functions::check_captcha($_POST['g-recaptcha-response'])) {
/* Escape de input tegen mysql injecties. */
$input = Database::escape($_POST['vergeten']);
/* Controleren of het ingevulde data een e-mailadre is. */
if (filter_var($input, FILTER_VALIDATE_EMAIL)) {
/* Het is een e-mailadres, dus selecteer de benodigde data van het account. */
$query = Database::query("SELECT id, UNIX_TIMESTAMP(reset_date) AS reset_date FROM customer WHERE email = '" . $input . "'");
/* Stel type in. */
$type = 'email';
} else {
/* Geen e-mailadres, dus kijk of het een getal is voor het abonneenummer. */
if (is_numeric($input)) {
/* Het is een nummer. */
$query = Database::query("SELECT c.id, UNIX_TIMESTAMP(c.reset_date) AS reset_date FROM subscription AS s INNER JOIN customer AS c ON c.id = s.customer_id WHERE s.sub_number = " . $input);
/* Stel type in. */
$type = 'sub';
} else {
/* Zowel het e-mailadres als de abonneenummer check zijn gefaalt. */
throw new Exception('Het e-mailadres of abonneenummer dat u heeft ingevuld, is onjuist.');
}
}
/* Controleren of de query gelukt is. */
if ($query) {
/* Controleren of het account bestaat. */
if ($query->num_rows != 0) {
/* Object maken om gegevens uit te halen. */
$obj = $query->fetch_object();
/* Kijken of er niet al binnen een ingestelde tijd al eerder een request is gedaan. */
if (time() - $obj->reset_date > Settings::get('login_password_request_timeout')) {
/* Maak een random string aan met 96 karakters. */
$reset_key_db = Functions::random_string(96);
/* Zet hier het account id voor. */
$reset_key = $obj->id . '-' . $reset_key_db;
/* Base64 encode de reset keys. */
$reset_key = base64_encode($reset_key);
$reset_key_db = base64_encode($reset_key_db);
/* Update de database. */
$update = Database::query("UPDATE customer SET reset_key = '" . Database::escape($reset_key_db) . "', reset_date = NOW() WHERE id = " . $obj->id);
/* Controleren of de update is gelukt. */
if ($update) {
/* Probeer onderstaande. */
try {
/* Probeer een mail te sturen. */
Email::send_mail($input, 'CityPark - Wachtwoord reset', 'Beste ' . $_SESSION['login']['naam'] . ',<br /><br />Op ' . Date('d-m-Y \\o\\m H:i:s') . ' is een aanvraag gedaan om het wachtwoord van uw account te resetten.<br /><br />U kunt uw wachtwoord resetten door op de onderstaande link te klikken.<br /><a href="' . Config::$base_href . '?reset=' . $reset_key . '">Klik hier om uw wachtwoord te resetten.</a><br /><br />Wanneer u geen aanvraag heeft gedaan om uw wachtwoord te resetten, kunt u deze mail negeren en verwijderen.<br />De link blijft een bepaalde periode geldig, waarna hij vervalt. Indien u went het wachtwoord te resetten terwijl de link vervallen is, dient u opnieuw een aanvraag in te dienen.');
/* Success bericht instellen, zodat deze op de login pagina weergeven wordt. */
$_SESSION['vergeten'] = 'Er is een e-mail verzonden met daarin instructies om uw wachtwoord opnieuw in te stellen.';
} catch (Exception $e) {
/* Foutmelding gevangen, gooi deze door. */
throw new Exception($e->getMessage());
}
} else {
/* MySQL foutmelding. */
throw new Exception('Er ging wat fout bij het aanmaken van een reset key.<br />' . Database::error());
}
} else {
/* Er is al eerder een request gedaan binnen de minimale 'rust' tijd. */
throw new Exception('Er is recent al een aanvraag gedaan om het wachtwoord te resetten.');
}
} else {
/* Het account bestaat niet. */
throw new Exception('Er is geen account gevonden met het opgegeven ' . ($type == 'email' ? 'e-mailadres' : 'abonneenummer') . '.');
}
} else {
/* MySQL foutmelding. */
throw new Exception('Er ging wat fout bij het opzoeken van het bijbehorende account.<br />' . Database::error());
}
} else {
/* De key is incorrect, dus stop het login procedure en gooi een foutmelding. */
throw new Exception('Kon niet valideren of u een mens of robot bent.');
}
} else {
/* Niet alle velden zijn ingevuld. */
throw new Exception('Niet alle velden zijn ingevuld.');
}
}
示例3: notify_by_email
private static function notify_by_email($user, $password)
{
$file = "account_creation_email";
$data = array('{user_name}' => $user->firstname . " " . $user->lastname, '{email}' => $user->email, '{password}' => $password);
Email::send_mail($user->email, $file, $data);
}
示例4: send_exam_reminder_email
public function send_exam_reminder_email($students, $exam_result)
{
foreach ($students as $student) {
$file = "exam_reminder_email";
$data = array('{user_name}' => $student->firstname . " " . $student->lastname, '{exam_name}' => $exam_result->name, '{date}' => date('d-m-Y', $exam_result->eventstart), '{time}' => date('g:i:s a', $exam_result->eventstart));
Email::send_mail($student->email, $file, $data);
}
}
示例5: invoice_subscription
private function invoice_subscription()
{
/* Selecteer alle abonnees. */
$select = Database::query("SELECT s.*, c.email, ci.bank_account FROM subscription AS s INNER JOIN customer AS c ON c.id = s.customer_id INNER JOIN customer_info AS ci ON ci.customer_id = s.customer_id");
/* Kijken of query gelukt is. */
if ($select) {
/* Kijken of er abonnees zijn. */
if ($select->num_rows != 0) {
/* Haal de prijs op van de abonneekosten. */
$sub_price = Settings::get('citypark_subscription_month_cost');
/* Loop elke abonnee bij langs. */
while ($obj = $select->fetch_object()) {
/* Maak een invoice object aan. */
$obj->invoice = new Invoice();
/* Maak nieuw factuur aan. */
$obj->invoice->new_invoice($obj->customer_id, 'subscription');
/* Voeg een item toe aan het factuur, met daarin de abonnement kosten van nu (eerste van de maand) tot en met einde deze maand. */
$obj->invoice->add_item('Abonnement kosten', 'Van 01-' . Date('m-Y') . ' tot en met ' . Date('t-m-Y') . '.', '1', $sub_price);
/* Haal aantal gratis minuten op, en zet deze in het object. */
$obj->free_minutes = Settings::get('citypark_guest_free_minutes');
/* Geef obj als current sub in. */
$this->current_sub = $obj;
/* Bereken de gastenpas kosten. */
$this->invoice_guest_pass($obj);
/* Haal totaal bedrag op. */
$price = $obj->invoice->get_total_price();
/* Proberen te betalen. */
if (Bank_api::transfer($price, $obj->bank_account, Config::$bank_account)) {
/* Stel factuur als betaald in. */
$obj->invoice->set_paid();
/* Mail success. */
Email::send_mail($obj->email, 'CityPark - Factuur aangemaakt en betaald', 'Er is zojuist een factuur aangemaakt waarin de kosten van het abonnement en de eventuele kosten van het gebruik van de gasten pas. Het factuur is succesvol betaald.<br /><br />U kun het factuur downloaden en bekijken in het klanten paneel.');
} else {
/* Mail foutmelding. */
Email::send_mail($obj->email, 'CityPark - Factuur aangemaakt en niet betaald', 'Er is zojuist een factuur aangemaakt waarin de kosten van het abonnement en de eventuele kosten van het gebruik van de gasten pas<br /><br />Het factuur kon niet worden betaald. Binnen een aantal dagen proberen wij het verschuldigde bedrag nogmaals van uw rekeningnummer af te schrijven.<br /><br />U kun het factuur downloaden en bekijken in het klanten paneel.');
}
}
}
} else {
/* MySQL Foutmelding. */
die('Error [invoice_subscription]: ' . Database::error());
}
}
示例6: send_change_password_email
private function send_change_password_email($email, $email_key)
{
$activation = $this->generate_key();
$message = " To reset your password, please click on this link:\n\n";
$message .= DEFAULT_WEBSITE_URL . 'Users/change_password/email=' . urlencode(trim($email)) . "/key={$email_key}";
Email::init($email, 'Reset your password', $message);
Email::send_mail();
return TRUE;
}
示例7: send_child_email
public function send_child_email()
{
if (!$this->is_role('parent')) {
throw new Exception('Invalid Role');
}
$child = ORM::factory('user')->where('parent_user_id', '=', $this->id)->find();
if ($child->status == '1') {
$forgot_password_string = md5($child->email . time());
$child->forgot_password_string = $forgot_password_string;
$child->save();
$file = "child_approved_email";
$data = array('{child_name}' => $child->firstname . " " . $child->lastname, '{url}' => Url::site("auth"), '{parent_name}' => $this->firstname . " " . $this->lastname, '{child_email}' => $child->email, '{password_url}' => Url::site("auth/changepassword/u/" . $forgot_password_string));
} else {
$file = "child_unapproved_email";
$data = array('{parent_name}' => $parent->firstname . " " . $parent->lastname, '{child_name}' => $this->firstname . " " . $this->lastname, '{parent_email}' => $parent->email);
}
Email::send_mail($child->email, $file, $data);
}
示例8: forgot_password
private function forgot_password()
{
$user = ORM::factory('user');
$validator = $user->validator_forgot_password($this->request->post());
if ($validator->check()) {
$user->where('email', ' = ', $this->request->post('email'));
$user->find();
$forgot_password_string = md5($user->email . time());
$user->forgot_password_string = $forgot_password_string;
$user->save();
//$user->email;
//Email::connect($config = NULL);
$to = $user->email;
$file = "forgot_password_email";
$data = array('{user_name}' => $user->firstname . " " . $user->lastname, '{password_url}' => Url::site("auth/changepassword/u/" . $forgot_password_string));
Email::send_mail($to, $file, $data);
return '<div class="formMessages" style="width:300px; height:50px">
<span class="fmIcon good"></span>
<span class="fmText">A link to reset your password has been sent at ' . $user->email . '</span>
<span class="clear"></span>
</div>';
} else {
$this->_errors = $validator->errors('register');
}
}
示例9: register_subscription
public static function register_subscription()
{
/* Controleren of alle vereiste velden ingevuld zijn. */
if (!empty($_POST['firstname']) && !empty($_POST['lastname']) && !empty($_POST['street']) && !empty($_POST['house_nr']) && !empty($_POST['zipcode']) && !empty($_POST['city']) && !empty($_POST['bank_account']) && !empty($_POST['email']) && !empty($_POST['passwd_sha512']) && !empty($_POST['passwd_conf_sha512'])) {
/* Kijken of minimaal een van de twee telefoonnummers ingevuld is. */
if (!empty($_POST['phone_home']) || !empty($_POST['phone_mob'])) {
/* Controleren of het bank rekening nummer een getal is. */
if (is_numeric($_POST['bank_account']) && strlen($_POST['bank_account']) == 6) {
/* Controleren of het huis nummer een getal is. */
if (is_numeric($_POST['house_nr'])) {
/* Controleren of het e-mailadres klopt. */
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
/* Kijken of beide ingevulde wachtwoorden overeen komen. */
if ($_POST['passwd_sha512'] == $_POST['passwd_conf_sha512']) {
/* Escape de heel $_POST array, en plaats het resultaat terug in $_POST. */
$_POST = Database::escape_array($_POST);
/* Select query uitvoeren op het ingevulde email. */
$check_mail = Database::query("SELECT id FROM customer WHERE email = '" . $_POST['email'] . "' LIMIT 1");
/* Kijken of de query is gelukt. */
if ($check_mail) {
/* Kijken of het email niet al bestaat. */
if ($check_mail->num_rows == 0) {
/* Haal minimaal bedrag op wat de klant moet kunnen betalen. */
$min_balance = Settings::get('citypark_subscription_month_cost') * Settings::get('citypark_register_min_balance');
/* Voor de zekerheid komma's vervangen met punten. */
$min_balance = str_replace(',', '.', $min_balance);
/* Bij de bank controlleren of de gebruiker het minimum bedrag kan betalen. */
if (Bank_api::check($_POST['bank_account'], $min_balance)) {
/* Het nieuwe wachtwoord aanmaken. */
$passwd = password_hash($_POST['passwd_sha512'], PASSWORD_DEFAULT, ['cost' => Settings::get('login_passwd_cost')]);
/* Het nieuwe wachtwoord base64 encoderen. */
$passwd = base64_encode($passwd);
/* Insert query voor een customer. */
$insert_customer = Database::query("INSERT INTO customer (username, password, email, active, register_date) VALUES ('', '" . $passwd . "', '" . $_POST['email'] . "', 0, NOW())");
/* Controleren of de query is gelukt. */
if ($insert_customer) {
/* Haal het customer ID op. */
$customer_id = Database::insert_id();
/* Insert query voor customer info. */
$insert_customer_info = Database::query("INSERT INTO customer_info (customer_id, firstname, inserts, lastname, street, house_nr, house_nr_add, city, zipcode, phone_home, phone_mob, bank_account) VALUES (" . $customer_id . ", '" . $_POST['firstname'] . "', " . (!empty($_POST['inserts']) ? '\'' . $_POST['inserts'] . '\'' : 'NULL') . ", '" . $_POST['lastname'] . "', '" . $_POST['street'] . "', " . $_POST['house_nr'] . ", " . (!empty($_POST['house_nr_add']) ? '\'' . $_POST['house_nr_add'] . '\'' : 'NULL') . ", '" . $_POST['city'] . "', '" . $_POST['zipcode'] . "', '" . $_POST['phone_home'] . "', '" . $_POST['phone_mob'] . "', " . $_POST['bank_account'] . ")");
/* Controleren of de insert query is gelukt. */
if ($insert_customer_info) {
/* Proberen twee passen op te halen. */
try {
/* Haal de passen op. */
$pass_array = Self::get_free_pass();
} catch (Exception $e) {
/* Foutmelding gevangen, verwijder de customer uit de database. */
Database::query("DELETE FROM customer WHERE id = " . $customer_id);
Database::query("DELETE FROM customer_info WHERE customer_id = " . $customer_id);
/* Gooi foutmelding door. */
throw new Exception($e->getMessage());
}
/* Maak een nieuw abonneenummer. */
$abonneenummer = Self::new_sub_number();
/* Insert query voor abonnee. */
$insert_subscription = Database::query("INSERT INTO subscription (customer_id, sub_number, start_date) VALUES (" . $customer_id . ", " . $abonneenummer . ", NOW())");
/* Kijken of de insert gelukt is. */
if ($insert_subscription) {
/* Haal het abonnee ID op. */
$abonnee_id = Database::insert_id();
/* Maak een random string aan met 96 karakters. */
$activate_key_db = Functions::random_string(96);
/* Zet hier het account id voor. */
$activate_key = $customer_id . '-' . $activate_key_db;
/* Base64 encode de activate keys. */
$activate_key = base64_encode($activate_key);
$activate_key_db = base64_encode($activate_key_db);
/* Update de customer, en geef de gebruikersnaam het zelfde als het abonneenummer en sla de activate key op. */
$update_username = Database::query("UPDATE customer SET username = '" . $abonneenummer . "', activate_key = '" . Database::escape($activate_key_db) . "' WHERE id = " . $customer_id);
/* Kijken of de update query gelukt is. */
if ($update_username) {
/* Update de twee RFID kaarten en koppel ze aan het abonnement. */
$update_card_one = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'subscription', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[0]));
/* Kijken of de update query is gelukt. */
if ($update_card_one) {
/* Update de tweede kaart. */
$update_card_two = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'guest', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[1]));
/* Kijken tweede update query is gelukt. */
if ($update_card_two) {
/* Betaling maken, en kijken of deze is gelukt. */
if (Payment::pay_subscription($abonneenummer, 1, $_POST['bank_account'], true)) {
/* Query om permissies aan account toe te voegen. */
$insert_permission = Database::query("INSERT INTO permission_customer_in_group (customer_id, group_id) VALUES (" . $customer_id . ", " . (int) Database::escape(Settings::get('citypark_standard_group')) . ")");
if ($insert_permission) {
/* Probeer het onderstaande. */
try {
/* Probeer een mail te sturen. */
Email::send_mail($_POST['email'], 'CityPark - Abonnoment aanvraag', 'Beste ' . $_POST['firstname'] . ' ' . $_POST['lastname'] . ',<br /><br />Op ' . Date('d-m-Y \\o\\m H:i:s') . ' heeft u succesvol een abonnement aangevraagd bij CityPark.<br /><br />Er zijn twee parkeerpassen aan uw abonnement gekoppeld en worden zo snel mogelijk naar uw adres gestuurt. De parkeerpassen die aan uw abonnement zijn gekoppeld hebben de nummers:<br /><i>Abonneepas #' . $pass_array[0] . '</i><br /><i>Gastenpas #' . $pass_array[1] . '</i><br /><br />Om toegang te krijgen tot het klantenpaneel, dient u het account, die aangemaakt is tijdens het aanvragen van het abonnement, te activeren. U kunt uw account activeren door op de onderstaande link te klikken.<br /><a href="' . Config::$base_href . '?activate=' . $activate_key . '">Klik hier om uw account te activeren</a><br /><br />Het gebruikersnaam van uw account is <strong>' . $abonneenummer . '</strong>, en het wachtwoord heeft u zelf ingevuld.<br /><br />Het factuur van uw eerste maandafschiften is te vinden op het klantenpaneel.<br /><br />Uw abonnement is per direct in gegaan, en u kunt de parkeerpassen direct gebruiken wanneer u deze ontvangen heeft. Indien de parkeerpassen verloren raken of gestolen zijn, kunt u deze blokkeren in het klantenpaneel.');
/* Registratie gelukt, return een true. */
return true;
} catch (Exception $e) {
/* Foutmelding gevangen, gooi deze door. */
throw new Exception($e->getMessage());
}
} else {
/* Query mislukt, maar omdat de betaling wel gelukt is, laten we het abonnement in de database staan. */
/* Gooi foutmelding. */
throw new Exception('Er is wat fout gegaan bij het toevoegen van de rechten op uw account. Neem a.u.b. contact op.<br />' . Database::error());
}
//.........这里部分代码省略.........