/**
  * testSendgridSend method
  *
  * @return void
  */
 public function testPostmarkSend()
 {
     $this->email->template('default', 'default');
     $this->email->emailFormat('both');
     $this->email->to(array('*****@*****.**' => 'Recipient'));
     $this->email->subject('Test email via SedGrid');
     $this->email->addHeaders(array('X-Tag' => 'my tag'));
     $sendReturn = $this->email->send();
     //        $headers = $this->email->getHeaders(array('to'));
     //        $this->assertEqual($sendReturn['To'], $headers['To']);
     //        $this->assertEqual($sendReturn['ErrorCode'], 0);
     //        $this->assertEqual($sendReturn['Message'], 'OK');
 }
コード例 #2
0
 public function index()
 {
     //checking session
     $uid = $this->Session->read('Auth.User.id');
     if (isset($uid)) {
         return $this->redirect(array('controller' => 'profiles', 'action' => 'edit'));
     }
     $this->layout = 'main';
     $title = 'User Registration';
     $this->set(compact('title'));
     //check from submit or not
     if ($this->request->is('post')) {
         //uploading image file
         $new_file_name = rand(1000, rand(100000, rand(1000000, 10000000))) . "_" . md5(time()) . "_" . time() . $this->data['Profile']['image']['name'];
         move_uploaded_file($this->data['Profile']['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/registration/app/webroot/img/image/' . $new_file_name);
         $this->request->data['Profile']['image'] = '/registration/app/webroot/img/image/' . $new_file_name;
         //----------------------
         //save data
         if ($this->Profile->save($this->request->data)) {
             $Email = new CakeEmail();
             $Email->from(array('*****@*****.**' => 'Cake registration demo'));
             $Email->to($this->data['Profile']['email']);
             $Email->subject('Registration process completed successfully');
             $Email->send('Welcome to cake registration demo .Your registration process completed successfully');
             $this->Session->setFlash('User details has been saved.', 'default', array('class' => 'alert alert-success'));
             return $this->redirect(array('action' => 'login'));
         }
         //------------
         //on failure
         $this->Session->setFlash('Unable to add User details.', 'default', array('class' => 'alert alert-danger'));
     }
 }
コード例 #3
0
ファイル: Email.php プロジェクト: yogesha3/yogesh-test
 public function sendEmail($to = NULL, $subject = NULL, $data = NULL, $template = NULL, $format = 'text', $cc = NULL, $bcc = NULL)
 {
     $Email = new CakeEmail();
     $Email->from(array(Configure::read('Email_From_Email') => Configure::read('Email_From_Name')));
     //$Email->config(Configure::read('TRANSPORT'));
     $Email->config('default');
     $Email->template($template);
     if ($to != NULL) {
         $Email->to($to);
     }
     if ($cc != NULL) {
         $Email->cc($cc);
     }
     if ($bcc != NULL) {
         $Email->bcc($bcc);
     }
     $Email->subject($subject);
     $Email->viewVars($data);
     $Email->emailFormat($format);
     if ($Email->send()) {
         return true;
     } else {
         return false;
     }
 }
コード例 #4
0
 public function send()
 {
     if ($this->request->is('post')) {
         // Check security token
         if (empty($this->request->data['Feedback']['token']) || $this->request->data['Feedback']['token'] != '!pilule$') {
             throw new NotFoundException();
         }
         // Send feedback via email
         $Email = new CakeEmail();
         if (!empty($this->request->data['Feedback']['name']) && !empty($this->request->data['Feedback']['email'])) {
             $Email->replyTo(array($this->request->data['Feedback']['email'] => $this->request->data['Feedback']['name']));
         }
         $Email->from('*****@*****.**');
         $Email->to('*****@*****.**');
         $Email->config('postmark');
         $Email->subject('Pilule - Commentaires');
         $Email->template('feedback');
         $Email->emailFormat('html');
         $Email->viewVars(array('message' => $this->request->data));
         if ($Email->send()) {
             return new CakeResponse(array('body' => json_encode(array('status' => true))));
         } else {
             return new CakeResponse(array('body' => json_encode(array('status' => false))));
         }
     } elseif ($this->request->is('ajax')) {
         $this->layout = 'ajax';
         $this->render('modals/form');
     }
 }
コード例 #5
0
ファイル: TimeOverTask.php プロジェクト: shivram2609/bbm
 public function exacute()
 {
     $books = $this->Book->find('all', array('conditions' => array('Book.state' => 'Bet Finish')));
     foreach ($books as $book) {
         $time_zone = $this->Book->TimeZone->find('first', array('conditions' => array('TimeZone.id' => $book['Book']['time_zone'])));
         if (isset($time_zone['TimeZone']) && isset($time_zone['TimeZone']['value'])) {
             $bookdaystate = new BookDayState($book, $time_zone['TimeZone']['value']);
             if ($bookdaystate->isTimeOut() && $book['Book']['timeover_info'] == false) {
                 /*
                 $content = 'The result has not been selected after 24 hours from the announcement date and time the corresponding book is disabled and all points wagered are returned to all punters. 
                 The bookmaker will receive a penalty.
                 
                 Book Title : '.$book['Book']['title'].'<br>Total Bet : '.$book['Book']['bet_all_total'].'<br>Total User : '******'Book']['user_all_count'].'
                 
                 '.'<a href="http://bookbookmaker.com/books'.'/'.$book['Book']['id'].'">http://bookbookmaker.com/books'.'/'.$book['Book']['id'].'</a>';
                 */
                 $Email = new CakeEmail('sendGrid');
                 $Email->template('timeover');
                 $Email->to($book['User']['mail']);
                 $Email->subject('Bookタイムオーバー bookbookmaker.com');
                 $Email->viewVars(array('book' => $book));
                 $Email->send();
                 $this->Book->seTimeover($book['Book']['id']);
             } else {
             }
         }
     }
 }
コード例 #6
0
 public function contact()
 {
     $this->loadModel('Contact');
     if ($this->request->is('post')) {
         $this->Contact->set($this->request->data);
         if ($this->Contact->validates()) {
             App::uses('CakeEmail', 'Network/Email');
             if ($this->request->data['Contact']['subject'] == '') {
                 $this->request->data['Contact']['subject'] = 'Contact';
             }
             $Email = new CakeEmail('smtp');
             $Email->viewVars(array('mailData' => $this->request->data));
             $Email->template('contact', 'default');
             $Email->emailFormat('html');
             $Email->from(array($this->request->data['Contact']['mail'] => $this->request->data['Contact']['name']));
             $Email->to('*****@*****.**');
             $Email->subject($this->request->data['Contact']['subject']);
             $Email->attachments(array('logo.png' => array('file' => WWW_ROOT . '/img/icons/logo.png', 'mimetype' => 'image/png', 'contentId' => 'logo')));
             $Email->send();
             $this->Flash->success(__('Votre mail a bien été envoyé.'));
             return $this->redirect($this->referer());
         } else {
             $this->Session->write('errors.Contact', $this->Contact->validationErrors);
             $this->Session->write('data', $this->request->data);
             $this->Session->write('flash', 'Le mail n’a pas pu être envoyé. Veuillez réessayer SVP.');
             return $this->redirect($this->referer());
         }
     }
 }
    function email_referrer($receiver = null, $invite_total = null, $code = null)
    {
        $share_link = FULL_BASE_URL . '/invite/' . $code;
        //For our coming soon incentive, we were increasing peoples call rates by 10 cents for every person that joined the site from their link
        //so the funciton below simply calculates their new rate.
        //add in your own function if you want
        $total_referrals = $invite_total;
        $current_rate = 2.5 + $invite_total * 0.1;
        if ($current_rate > 3.5) {
            $current_rate = 3.5;
        }
        $message = 'Nice work!  
								<br /><br />
							One of your friends just joined Amplifyd.  Your new caller rate is now $' . $current_rate . '0/per call. 
								<br /><br />
							Because of you, our public voice just got stronger and louder.
								<br /><br />
							Keep it up, here\'s your unique invite link again: 
								<br />
							<a href="' . $share_link . '" >' . $share_link . '</a>
								<br /><br />
							';
        $email = new CakeEmail('sendgrid');
        $email->emailFormat('html');
        $email->to($receiver);
        $email->subject('A Friend Just Joined');
        $email->send($message);
    }
コード例 #8
0
 public function contactus()
 {
     if ($this->request->data) {
         $this->request->data['Contact'] = Sanitize::clean($this->request->data, array("remove_html" => TRUE));
         $cakeEmail = new CakeEmail('default');
         if ($this->request->data['Contact']['emailbool'] == "2") {
             $email_to = Configure::read('Config.general');
             $cakeEmail->template('enquiry', 'default')->emailFormat('html')->to($email_to)->subject('HaRiMau - General Enquiry');
         } else {
             $email_to = Configure::read('Config.business');
             $cakeEmail->template('enquiry', 'default')->emailFormat('html')->to($email_to)->subject('HaRiMau - Business Enquiry');
         }
         $cakeEmail->viewVars(array('user' => $this->request->data));
         if ($cakeEmail->send()) {
             $cnt_data = $this->Notification->find('count', array('conditions' => array('markas' => 'Unread', 'type' => 'Contact')));
             $arr['Notification']['type'] = 'Contact';
             $arr['Notification']['status'] = 'Approve';
             $arr['Notification']['count'] = $cnt_data + 1;
             $arr['Notification']['markas'] = 'Unread';
             $arr['Notification']['bell'] = 'On';
             $noti = $this->Notification->save($arr);
             $noti_data = $this->Notification->find('all', array('conditions' => array('markas' => 'Unread')));
             $numNoti = count($noti_data);
             $this->set('count', $numNoti);
             $this->Session->setFlash('<div class="alert alert-success"><i class="fa fa-check-circle"></i> An email with details is sent to system admin as earliest as will replied you. <button data-dismiss="alert" class="close" type="button">×</button> </div>');
             //$this->Session->setFlash(__('An email with details is sent to system admin as earliest as will replied you. '));
         } else {
             $this->Session->setFlash('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> Problem on sending email to enquiry department. Please contact to administrator.<button data-dismiss="alert" class="close" type="button">×</button> </div>');
             //$this->Session->setFlash(__('Problem on sending email to enquiry department. Please contact to administrator'));
         }
     } else {
         $this->set('count', 0);
     }
 }
コード例 #9
0
 /**
  * Send comfirmation email whit unique code
  */
 public function send_mail()
 {
     $user = $this->Session->read('Auth');
     if (isset($user)) {
         if ($user['User']['active'] == 0) {
             $uniqueId = uniqid("", TRUE);
             if ($this->saveSendComfirmation($user, $uniqueId)) {
                 App::uses('CakeEmail', 'Network/Email');
                 $email = new CakeEmail('gmail');
                 $link = "http://" . $_SERVER['HTTP_HOST'] . $this->webroot . "email/activate_account/" . $user['User']['id'] . '-' . $uniqueId;
                 $email->from('*****@*****.**');
                 $email->to($user['User']['email']);
                 $email->subject('Mail Confirmation');
                 $email->emailFormat('html');
                 $email->template('signup');
                 $email->viewVars(array('username' => $user['User']['full_name'], 'link' => $link));
                 $this->Session->setFlash(__('Email comfirmation has been sent'), 'flash/success');
                 $email->send();
             } else {
                 $this->Session->setFlash(__('Could not send email.'), 'flash/error');
             }
         } else {
             $this->Session->setFlash(__('Your email is already comfirmed.'), 'flash/error');
         }
     } else {
         $this->Session->setFlash(__('You are not login.'), 'flash/error');
     }
     $this->redirect('/');
 }
コード例 #10
0
 protected function _sendEmail()
 {
     App::uses('CakeEmail', 'Network/Email');
     $Email = new CakeEmail();
     $Email->emailFormat('text')->template('new_user', 'default')->from(Configure::read('Site.email_from'))->replyTo($this->request->data['Contact']['email'])->subject('EU-GENIE Contact Form')->to(Configure::read('Site.email_to'));
     $Email->send();
 }
コード例 #11
0
 public function main()
 {
     // =============================================================================================
     // 各種情報を取得
     // =============================================================================================
     // 今年分の振込情報を取得
     $year = date('Y');
     $transfer_histories = $this->TTransferHistory->findTransferHistory($year);
     // 振込目標額を取得
     $total_price = $this->MParameter->find('first', array('conditions' => array('parameter_name' => 'total_price'), 'fields' => array('parameter_value')));
     $total_price = $total_price['MParameter']['parameter_value'];
     // 合計振込額を取得
     $total_transfer_price = $this->TTransferHistory->find('first', array('conditions' => array('deleted' => 1), 'fields' => array('sum(transfer_price) as total_transfer_price')));
     $total_transfer_price = $total_transfer_price[0]['total_transfer_price'];
     // 振込残高を取得
     $remaining_price = $total_price - $total_transfer_price;
     // =============================================================================================
     // メール送信処理
     // =============================================================================================
     $email = new CakeEmail('admin');
     $email->to('*****@*****.**');
     $email->subject($year . '年の振込情報');
     $email->emailFormat('text');
     $email->template('transfer_report');
     $email->viewVars(array('total_price' => number_format($total_price), 'total_transfer_price' => number_format($total_transfer_price), 'remaining_price' => number_format($remaining_price), 'year' => $year, 'transfer_histories' => $transfer_histories));
     $email->send();
 }
コード例 #12
0
 public function preview($e)
 {
     $configName = $e['EmailQueue']['config'];
     $template = $e['EmailQueue']['template'];
     $layout = $e['EmailQueue']['layout'];
     $headers = empty($e['EmailQueue']['headers']) ? array() : (array) $e['EmailQueue']['headers'];
     $theme = empty($e['EmailQueue']['theme']) ? null : (string) $e['EmailQueue']['theme'];
     if (empty($theme)) {
         $theme = '';
     }
     $email = new CakeEmail($configName);
     $email->transport('Debug')->to($e['EmailQueue']['to'])->subject($e['EmailQueue']['subject'])->template($template, $layout)->emailFormat($e['EmailQueue']['format'])->addHeaders($headers)->theme($theme)->messageId(false)->returnPath($email->from())->viewVars($e['EmailQueue']['template_vars']);
     $return = $email->send();
     $this->out('Content:');
     $this->hr();
     $this->out($return['message']);
     $this->hr();
     $this->out('Headers:');
     $this->hr();
     $this->out($return['headers']);
     $this->hr();
     $this->out('Data:');
     $this->hr();
     debug($e['EmailQueue']['template_vars']);
     $this->hr();
     $this->out();
 }
コード例 #13
0
 /**
  * permet de refaire un mot de passe oublié
  * @return [type] [description]
  **/
 public function forgot()
 {
     $this->layout = "home";
     if (!empty($this->request->data)) {
         $user = $this->User->findByMail($this->request->data['User']['mail'], array('id'));
         if (empty($user)) {
             $this->Session->setFlash(__("This email address is not associated with any account"), 'notif', array('class' => "danger", 'type' => 'info'));
         } else {
             $token = md5(uniqid() . time());
             $this->User->id = $user['User']['id'];
             $this->User->saveField('token', $token);
             App::uses('CakeEmail', 'Network/Email');
             $cakeMail = new CakeEmail('smtp');
             // à changer par default sur le site en ligne ou smtp en local
             $cakeMail->to($this->request->data['User']['mail']);
             $cakeMail->from(array('*****@*****.**' => "site "));
             $cakeMail->subject(__('Password regeneration'));
             $cakeMail->template('forgot');
             $cakeMail->viewVars(array('token' => $token, 'id' => $user['User']['id']));
             $cakeMail->emailFormat('text');
             $cakeMail->send();
             $this->Session->setFlash(__("An email was sent to you with instructions to regenerate your password! Please check your span !!"), "notif", array('class' => 'info', 'type' => 'info'));
         }
     }
 }
コード例 #14
0
 public function handleException(Exception $exception, $shutdown = false)
 {
     $this->_exception = $exception;
     $email = new CakeEmail('error');
     $prefix = Configure::read('ExceptionNotifier.prefix');
     $from = $email->from();
     if (empty($from)) {
         $email->from('*****@*****.**', 'Exception Notifier');
     }
     $subject = $email->subject();
     if (empty($subject)) {
         $email->subject($prefix . '[' . date('Ymd H:i:s') . '][' . $this->_getSeverityAsString() . '][' . ExceptionText::getUrl() . '] ' . $exception->getMessage());
     }
     if ($this->useSmtp) {
         $email->transport('Smtp');
         $email->config($this->smtpParams);
     }
     $text = ExceptionText::getText($exception->getMessage(), $exception->getFile(), $exception->getLine());
     $email->send($text);
     // return Exception.handler
     if ($shutdown || !$this->_exception instanceof ErrorException) {
         $config = Configure::read('Exception');
         $handler = $config['handler'];
         if (is_string($handler)) {
             call_user_func($handler, $exception);
         } elseif (is_array($handler)) {
             call_user_func_array($handler, $exception);
         }
     }
 }
コード例 #15
0
ファイル: Player.php プロジェクト: afluong/webarena
 public function sendPassword($emailLog)
 {
     $searchPlayer = "Select email From players As Player Where email = '";
     $searchPlayer .= $emailLog;
     $searchPlayer .= "'";
     if (!$this->query($searchPlayer)) {
         return false;
     } else {
         /*
          * renvoie un pass chiffré. PAS BON !!
          * renvoyer un mot de pass par défault
          * rediriger vers la page change password
          * faire comme si on changeait le mdp
          */
         $tempPass = $this->generatePassword();
         $tempPassCrypted = Security::hash($tempPass);
         $updatePass = "******" . $tempPassCrypted . "' Where email = '" . $emailLog . "'";
         $this->query($updatePass);
         //@todo: sauvegarder dans la base
         $message = "Voici votre mot de passe temporaire. Connectez-vous avec pour le changer.";
         App::uses('CakeEmail', 'Network/Email');
         $mail = new CakeEmail('rox');
         $mail->to($emailLog)->subject('WebArena Information')->template('player')->viewVars(array('message' => $message, 'email' => $emailLog, 'password' => $tempPass))->emailFormat('html');
         return $mail->send();
     }
 }
コード例 #16
0
 public function individualMail($section, $arr = array())
 {
     $this->autoRender = false;
     $contents = $this->Mail->findBySection($section);
     $content = $contents['Mail']['content'];
     foreach ($arr as $key => $val) {
         $content = str_replace("~~{$key}~~", $val, $content);
     }
     if (!empty($arr['TO_EMAIL']) && Validation::email($arr['TO_EMAIL'], true)) {
         $email = new CakeEmail();
         $email->template('default');
         $email->config('default');
         $email->emailFormat('html')->to($arr['TO_EMAIL'])->subject($contents['Mail']['subject']);
         try {
             if ($email->send($content)) {
                 return;
             } else {
                 return;
             }
         } catch (Exception $e) {
             return;
         }
     }
     return;
 }
コード例 #17
0
ファイル: BetResultTask.php プロジェクト: shivram2609/bbm
 public function exacute()
 {
     $users = array();
     $books = $this->Book->find('all', array('conditions' => array('Book.mail_info' => 0, 'Book.state' => 'result')));
     foreach ($books as $book) {
         $update['Book'] = array('id' => $book['Book']['id'], 'mail_info' => 1);
         $this->Book->save($update, false);
         foreach ($book['Bet'] as $bet) {
             if ($bet['result_point'] === NULL) {
                 $bet['result_point'] = 0;
                 $this->Bet->id = $bet['id'];
                 $this->Bet->set('result_point', 0);
                 $this->Bet->save();
             }
             foreach ($book['Content'] as $content) {
                 if ($content['id'] == $bet['content_id']) {
                     $bet['content_title'] = $content['title'];
                 }
             }
             $users[$bet['user_id']][$book['Book']['id']]['Bet'][] = $bet;
             $users[$bet['user_id']][$book['Book']['id']]['Book'] = $book;
         }
     }
     foreach ($users as $user_id => $u_books) {
         $user = $this->User->find('first', array('conditions' => array('User.id' => $user_id)));
         $Email = new CakeEmail('sendGrid');
         $Email->template('betresult');
         $Email->to($user['User']['mail']);
         $Email->subject('結果発表 bookbookmaker.com');
         $Email->viewVars(array('user' => $user, 'books' => $u_books));
         $Email->send();
     }
 }
コード例 #18
0
 public function index()
 {
     if (!empty($this->data)) {
         if ($this->request->is('post')) {
             $data = $this->request->data;
             if ($this->Matriculation->save($data)) {
                 $email = new CakeEmail();
                 $email->config('default');
                 $email->from(array('*****@*****.**' => 'Sardonix Idiomas | Automático'));
                 $email->to('*****@*****.**');
                 $email->subject("Matrícula - {$data['Matriculation']['name']} ");
                 $cursos = '';
                 if (isset($data['Matriculation']['english'])) {
                     $cursos .= 'Inglês; ';
                 }
                 if (isset($data['Matriculation']['italian'])) {
                     $cursos .= 'Italiano; ';
                 }
                 if (isset($data['Matriculation']['portuguese'])) {
                     $cursos .= 'Português; ';
                 }
                 $date = new DateTime();
                 $message = "Nome: {$data['Matriculation']['name']}\n\n";
                 $message .= "Telefone: {$data['Matriculation']['phone']}\n\n";
                 $message .= "Celular: {$data['Matriculation']['cellphone']}\n\n";
                 $message .= "Idiomas de interesse: {$cursos}\n\n";
                 $message .= "E-mail: {$data['Matriculation']['email']} \n\n";
                 $message .= "Soube: {$data['Matriculation']['where']}\n\n";
                 $message .= "Acessou em: " . $date->format('d/m/Y H:i:s');
                 $email->send($message);
                 $this->render('enviado');
             }
         }
     }
 }
コード例 #19
0
ファイル: Contato.php プロジェクト: Dowingows/cartorio_net
 public function sendEmail()
 {
     App::import('Model', 'Setting');
     $setting_model = new Setting();
     $setting = $setting_model->find('first', array('fields' => 'email_contact'));
     $email_contact = empty($setting['Setting']['email_contact']) ? '' : $setting['Setting']['email_contact'];
     if (!empty($this->data['Contato'])) {
         $contato = $this->data['Contato'];
         App::uses('CakeEmail', 'Network/Email');
         $Email = new CakeEmail();
         $Email->config('smtp');
         $Email->template('contato', null);
         $Email->viewVars(array('contato' => $contato));
         $Email->to($email_contact);
         $Email->emailFormat('html');
         $Email->subject("Cartório NET - Contato: " . $contato['subject']);
         $success = false;
         try {
             if ($Email->send()) {
                 $success = true;
             } else {
                 $success = false;
             }
         } catch (Exception $e) {
             //                pr($e);die;
             $success = false;
         }
         return $success;
     }
     return false;
 }
コード例 #20
0
ファイル: CalendarMailShell.php プロジェクト: pdkhuong/BBG
 public function main()
 {
     define('TIMEZONE', 'Asia/Bangkok');
     date_default_timezone_set(TIMEZONE);
     $now = date("Y-m-d H:i:s");
     $tomorrow = date("Y-m-d H:i:s", time() + EVENT_REMIDER_TIMER);
     $optionCalendar = array('order' => array('from_date' => 'asc'), 'conditions' => array('from_date >=' => $now, 'to_date <=' => $tomorrow));
     $events = $this->Calendar->find("all", $optionCalendar);
     foreach ($events as $key => $event) {
         $content = array();
         $content["id"] = $event["Calendar"]["id"];
         $content["name"] = $event["Calendar"]["name"];
         $content["description"] = $event["Calendar"]["description"];
         $content["from_date"] = $this->_formatDate($events[$key]["Calendar"]["from_date"], "d-m-Y H:i");
         $content["to_date"] = $this->_formatDate($events[$key]["Calendar"]["to_date"], "d-m-Y H:i");
         $id = $event["Calendar"]["id"];
         $user = $this->UserModel->findById($event["Calendar"]["user_id"]);
         $content["receive_name"] = $user["UserModel"]["display_name"];
         $Email = new CakeEmail('noreply');
         $noreplyConf = $Email->config();
         $Email->template('calendar_remider');
         $Email->emailFormat('html');
         $Email->viewVars(array('emailContent' => $content));
         $Email->from($noreplyConf['from']);
         $Email->to($user["UserModel"]["user_email"]);
         $Email->subject(__('Calendar Reminder'));
         $Email->send();
     }
     //echo EVENT_REMIDER_TIMER;
 }
コード例 #21
0
 public function index()
 {
     if (!$this->request->data) {
         $this->render();
         return;
     }
     $this->User->validate = array('email' => array(array('rule' => 'notEmpty', 'message' => 'メールアドレスを入力してください'), array('rule' => array('custom', '/^.+@.+$/'), 'message' => 'メールアドレスの形式が正しくありません。'), array('rule' => 'confirm', 'message' => 'メールアドレスが一致していません。'), array('rule' => 'isUniqueAndActive', 'message' => 'このメールアドレスは使用されています。')));
     $this->User->set($this->request->data);
     if (!$this->User->invalidFields()) {
         $email = $this->request->data['User']['email'];
         $activation_code = md5($email . time());
         $user = $this->User->find('first', array('conditions' => array('email' => $email, 'is_active' => false)));
         if (!$user) {
             $this->User->create();
             $user = array('User' => $this->request->data['User']);
         }
         $user['User']['is_active'] = false;
         $user['User']['activation_code'] = $activation_code;
         $this->User->save($user);
         $cakeemail = new CakeEmail('default');
         $cakeemail->to($email);
         $cakeemail->subject('仮登録のお知らせ');
         $cakeemail->send(sprintf('http://example.com/signup/activate/%s', $activation_code));
         $this->render('email_sent');
     }
 }
コード例 #22
0
 /**
  * index method
  *
  * @return void
  */
 public function index()
 {
     $this->Comment->recursive = 0;
     if (!empty($this->request->data)) {
         $this->Comment->create($this->request->data);
         if ($this->Comment->validates()) {
             if (!empty($this->request->data['Comment']['website'])) {
                 $this->Session->setFlash(__("Your Mail us is reached."), 'notif', array('class' => "success", 'type' => 'ok-sign'));
                 $this->request->data = array();
             } else {
                 $token = md5(time() . ' - ' . uniqid());
                 $this->Comment->create(array('name' => $this->request->data['Comment']['name'], 'mail' => $this->request->data['Comment']['mail'], 'content' => $this->request->data['Comment']['content'], 'token' => $token));
                 $this->Comment->save();
                 App::uses('CakeEmail', 'Network/Email');
                 $CakeEmail = new CakeEmail('smtp');
                 // à changer par Default sur le site en ligne sinon smtp
                 $CakeEmail->to(array('*****@*****.**'));
                 $CakeEmail->from(array($this->request->data['Comment']["mail"] => "livre d or"));
                 $CakeEmail->subject(__("Commentaire sur le livre d'or"));
                 $CakeEmail->viewVars($this->request->data['Comment'] + array("name" => $this->Comment->name, "mail" => $this->Comment->mail, "content" => $this->Comment->content, 'token' => $token, 'id' => $this->Comment->id));
                 $CakeEmail->emailFormat('html');
                 $CakeEmail->template('commentaire');
                 $CakeEmail->send();
                 $this->Session->setFlash(__('The comment has been saved.'), 'notif', array('class' => "success", 'type' => 'ok-sign'));
                 return $this->redirect(array('action' => 'index'));
             }
         } else {
             $this->Session->setFlash(__('The comment could not be saved. Please, try again.'), 'notif', array('class' => "danger", 'type' => 'info-sign'));
         }
     }
     $this->paginate = array('Comment' => array('limit' => 3, 'order' => array('Comment.created' => 'desc')));
     $d['comments'] = $this->Paginate('Comment', array('Comment.online >= 1'));
     $this->set($d);
 }
コード例 #23
0
 public function forget()
 {
     if ($this->request->is('post')) {
         $error = null;
         $email = $this->request->data['User']['email'];
         $result = $this->User->find('first', array('conditions' => array('User.email' => $email)));
         if ($result == null || empty($result)) {
             $error = "メールアドレスが登録されていません。";
         } else {
             $host = empty($_SERVER['CAKE_ENV']) ? 'localhost' : $_SERVER['CAKE_ENV'];
             $pre_id = $result['User']['pre_id'];
             $gmail = new CakeEmail('gmail');
             $gmail->to($email);
             $gmail->subject('seapaパスワード再設定URL');
             $messages = $gmail->send('パスワード再設定URL : http://' . $host . '/regist/reinput?pre_id=' . $pre_id);
             if ($messages == null) {
                 $error = "メールが送信できませんでした。管理者にお問い合わせください。";
             }
         }
         if (empty($error)) {
             $this->redirect(array('controller' => 'preregist', 'action' => 'result'));
         } else {
             $this->Session->setFlash($error, "flash_error");
         }
     }
 }
コード例 #24
0
 public function add()
 {
     //新規会員登録
     if ($this->request->is('post')) {
         $this->User->set($this->data);
         if ($this->User->validates()) {
             // status => 0, regist_code => xxxxxxxxxxxxxxx を $this->data に入れる
             $uuid = md5(uniqid());
             $data = $this->data;
             $data['User']['regist_code'] = $uuid;
             $this->User->save($data);
             $email = new CakeEmail('gmail');
             // インスタンス化
             $email->from(array('*****@*****.**' => 'Sender'));
             // 送信元
             $email->to('*****@*****.**');
             // 送信先
             $email->subject('twitter課題テスト');
             // メールタイトル
             $email->emailFormat('html');
             // フォーマット
             $email->template('mailsendtest');
             // テンプレートファイル
             $email->viewVars(array('registurl' => 'http://dev.elites.com/elites/twitter/users/registcomplete/', 'regist_code' => $uuid));
             $email->send('');
             // メール送信
             $this->redirect(array('contoller' => 'users', 'action' => 'sendmailcomplete'));
         }
     }
 }
コード例 #25
0
 /**
  * add method
  *
  * @return void
  */
 public function add()
 {
     $institucions = $this->User->Institucion->find('list');
     if ($this->request->is('post')) {
         // Password
         $password = $this->strongPassword($this->request->data['User']['username']);
         $this->request->data['User']['password'] = $password;
         $this->request->data['User']['role'] = 'administrador';
         $this->request->data['User']['active'] = true;
         $this->User->create();
         if ($this->User->save($this->request->data)) {
             // Envio de clave al usuario
             $email = new CakeEmail('default');
             $email->template('administrador');
             $email->emailFormat('text');
             $email->from('*****@*****.**');
             $email->to($this->request->data['User']['username']);
             $email->subject('Cuenta gobscore.');
             $email->viewVars(array('name' => $this->request->data['User']['name'], 'institucion' => $institucions[$this->request->data['User']['institucion_id']], 'username' => $this->request->data['User']['username'], 'password' => $password));
             if ($email->send()) {
                 $mensaje = 'Los datos de la institución y cuenta de ' . 'administrador han sido enviados correctamente';
             }
             $this->Session->setFlash($mensaje);
             return $this->redirect(array('action' => 'index'));
         } else {
             $this->Session->setFlash(__('La información ha no sido almacenada. Por favor, trate de nuevo.'));
         }
     }
     $this->set(compact('institucions'));
 }
コード例 #26
0
 function RecoverPassword($username)
 {
     $response = array('status' => false, 'message' => 'Ocurrió un error');
     $this->Behaviors->attach('Containable');
     if ($user = $this->find('first', array('conditions' => array('UsuarioInterno.username' => $username), 'contain' => array('Empresa')))) {
         $this->id = $user['UsuarioInterno']['id'];
         $token = md5($user['UsuarioInterno']['id'] . $user['UsuarioInterno']['username'] . date('d-m-Y'));
         if ($this->saveField('token', $token)) {
             App::uses('CakeEmail', 'Network/Email');
             $url = Router::url(array('controller' => 'empresas', 'action' => 'cambiar_clave', $token), true);
             $Email = new CakeEmail();
             $Email->template('password');
             $Email->from(array('*****@*****.**' => 'Xperiencia Laboral'));
             $Email->to($user['UsuarioInterno']['email']);
             $Email->subject('Recuperacion contraseña Xperiencia Laboral');
             $Email->viewVars(array('nombre' => $user['UsuarioInterno']['nombre'] . ' ' . $user['UsuarioInterno']['apellido'], 'url' => $url));
             $Email->emailFormat('html');
             if ($Email->send()) {
                 $response['message'] = 'Un link para reestablecer tu contraseña ha sido enviado a tu email ' . $user['UsuarioInterno']['email'];
                 $response['status'] = true;
             } else {
                 $response['message'] = 'Ocurrio un error al intentar enviar el mail';
             }
         }
     } else {
         $response['message'] = 'El email ingresado no corresponde a un usuario existente';
     }
     return $response;
 }
コード例 #27
0
 /**
  * Wenn es sich um einen POST-Request handelt, wird eine Rundmail mit den übergebenen Daten versendet.
  * 
  * @author aloeser
  * @return void
  */
 public function index()
 {
     if ($this->request->is('POST')) {
         $conditions = array('User.mail !=' => '', 'User.admin != ' => 2);
         if (!$this->request->data['Mail']['sendToAll']) {
             $conditions['User.leave_date'] = null;
         }
         $activeUsersWithEmail = $this->User->find('all', array('conditions' => $conditions));
         $receivers = array();
         foreach ($activeUsersWithEmail as $user) {
             array_push($receivers, $user['User']['mail']);
         }
         $senderMail = '*****@*****.**';
         $senderName = 'Humboldt Cafeteria';
         $EMail = new CakeEmail();
         $EMail->from(array($senderMail => $senderName));
         $EMail->bcc($receivers);
         $EMail->subject($this->request->data['Mail']['subject']);
         $EMail->config('web');
         $EMail->template('default');
         $EMail->emailFormat('html');
         $EMail->viewVars(array('senderName' => $senderName, 'senderMail' => $senderMail, 'content' => $this->request->data['Mail']['content'], 'subject' => $this->request->data['Mail']['subject'], 'allowReply' => $this->request->data['Mail']['allowReply']));
         if ($EMail->send()) {
             $this->Session->setFlash('Die Rundmail wurde erfolgreich abgeschickt.', 'alert-box', array('class' => 'alert-success'));
             $this->redirect(array('action' => 'index'));
         } else {
             $this->Session->setFlash('Beim Senden ist ein Fehler aufgetreten.', 'alert-box', array('class' => 'alert-error'));
         }
     }
     $this->set('actions', array());
 }
コード例 #28
0
ファイル: PagesController.php プロジェクト: CaoLP/phanbon
 public function contact()
 {
     $this->setTitle('Liên hệ');
     if ($this->request->is('post')) {
         $this->loadModel('Contact');
         $save_data = array('Contact' => array('name' => $this->request->data('name'), 'address' => $this->request->data('address'), 'phone' => $this->request->data('phone'), 'email' => $this->request->data('email'), 'title' => 'Liên hệ : ' . $this->request->data('name'), 'descriptions' => $this->request->data('message')));
         if ($this->Contact->save($save_data)) {
             $Email = new CakeEmail('smtp');
             $Email->emailFormat('text')->subject($save_data['Contact']['title']);
             $this->loadModel('Setting');
             $mail_lists = $this->Setting->getCacheSetting('mail_receiver');
             $mail_lists = explode(';', $mail_lists['emails']['value']);
             $mail_lists = array_filter($mail_lists);
             //                $mail_lists = Configure::read('mail_receiver');
             if ($mail_lists) {
                 $Email->to($mail_lists);
                 $content = "\nNgười gửi : {$save_data['Contact']['name']} \n\nSố điện thoại : {$save_data['Contact']['phone']} \n\nEmail : {$save_data['Contact']['email']} \n\nĐịa chỉ : {$save_data['Contact']['address']} \n\nNội dung liên hệ : {$save_data['Contact']['descriptions']}\n\n\n\n                    ";
                 $Email->send($content);
             }
             echo json_encode(array('status' => 'ok', 'messages' => array('Cảm ơn bạn đã quan tâm đến BIOWAY-HITECH <br>Chúng tôi sẽ liên lạc lại bạn trong thời gian sớm nhất')));
             die;
         } else {
             echo 'ng';
             die;
         }
     }
 }
コード例 #29
0
 protected function __resetPassword($username = '')
 {
     $this->loadModel('User');
     $conditions = array('username' => $username);
     $options = array('conditions' => $conditions);
     $user = $this->User->find('first', $options);
     $message = 'El usuario no existe.';
     if ($user) {
         $data['password'] = $this->strongPassword($username);
         $this->User->id = $user['User']['id'];
         $mensaje = 'No ha sido posible cambiar el password, intente de nuevo.';
         if ($this->User->save($data)) {
             $email = new CakeEmail('default');
             $email->template('change_password');
             $email->emailFormat('text');
             $email->from('*****@*****.**');
             $email->to($username);
             $email->subject('Reinicio de credenciales gobscore.');
             $email->viewVars(array('username' => $username, 'password' => $data['password']));
             $message = 'El password ha sido cambiado con éxito. Ha ocurrido un ' . 'error en el envío de su nuevo password.';
             if ($email->send()) {
                 $message = 'Los datos de la institución y cuenta de ' . 'administrador han sido enviados correctamente';
             }
         }
     }
     return $message;
 }
コード例 #30
0
ファイル: ReminderMail.php プロジェクト: k1low/reminder
 /**
  * sendResetMail
  *
  */
 public static function sendResetMail($data, $user)
 {
     $modelName = $data['model'];
     $loader = ReminderConfigLoader::init($modelName);
     $email = new CakeEmail('reminder');
     $from = $email->from();
     if (empty($from)) {
         $email->from('*****@*****.**', 'Reminder');
     }
     $subject = $loader->load('subject');
     if (empty($subject)) {
         $subject = $email->subject();
     }
     if (empty($subject)) {
         $subject = 'Reminder';
         // default
     }
     $email->subject($subject);
     $email->to($data['email']);
     $template = $loader->load('view.reset_mail');
     if (empty($template)) {
         $template = 'reset_mail';
     }
     $email->template('Reminder.' . $template);
     $email->viewVars(array('data' => $data, 'user' => $user));
     return $email->send();
 }