/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     // error_log("------------------------------------------------------");
     $Mailer = new Email();
     $Mailer->email = $request['email'];
     /* $validator class with method fails() */
     $validator = Validator::make($request->all(), ['email' => 'required|email']);
     /* $isNewEmail =
                true: no email found in db
                false: duplicate email found in db
        */
     $isNewEmail = collect($Mailer->where('email', $Mailer->email)->get())->isEmpty() ? true : false;
     if ($validator->fails()) {
         error_log(json_encode(['error' => ['invalid_email' => $request->all()]]));
         return response()->json(['error' => 'E-mail is invalid'])->setCallback($request->input('callback'));
     } elseif (!$isNewEmail) {
         error_log(json_encode(['error' => ['duplicate_email' => $request->all()]]));
         return response()->json(['error' => 'E-mail is marked as being subscribed'])->setCallback($request->input('callback'));
         return redirect('/')->withErrors($validator)->withInput();
     } else {
         error_log(json_encode(['mailer' => ['newEmail' => $Mailer]]));
         // soon
         $Scribe = $this->subscribe($Mailer->email);
         // soon
         error_log(json_encode(['scribe' => $Scribe]));
         $Mailer->save();
         return response()->json(['success' => true])->setCallback($request->input('callback'));
     }
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     $mail = new SendMailController();
     $cam = $this->campaign;
     //        $list_ids = $cam->subscribers_lists()->select('id')->get()->pluck('id')->toArray();
     $str = implode(',', $this->list_ids);
     $query = "select distinct email from subscribers where id in " . "(select subscriber_id from subscriber_subscribers_list where subscribers_list_id in ({$str})) limit " . $this->take . " offset " . $this->skip;
     $subscribers = DB::select($query);
     //        $subscribers = $l->subscribers()->take($this->take)->skip($this->skip)->get();
     foreach ($subscribers as $subscriber) {
         if (filter_var($subscriber->email, FILTER_VALIDATE_EMAIL)) {
             $url = 'http://colorme.vn/manage/email/open?cam_id=' . $cam->id . '&to=' . $subscriber->email;
             $content = $cam->template->content . '<img src="' . $url . '" width="1" height="1"/>';
             $result = $mail->sendAllEmail([$subscriber->email], $cam->subject, $content);
             $email_id = $result->get('MessageId');
             $email = Email::find($email_id);
             if ($email == null) {
                 $email = new Email();
                 $email->id = $email_id;
                 $email->status = 0;
             }
             $email->campaign_id = $cam->id;
             $email->to = $subscriber->email;
             $email->save();
         }
     }
 }
 /**
  * Store Emails for updates in the future
  *
  * @return Response
  */
 public function store(request $request)
 {
     $email = new Email();
     $email->email = $request->input('email');
     $email->save();
     return redirect()->back();
 }
Exemple #4
0
 public function postForm(EmailRequest $request, Email $email)
 {
     $email->email = $request->input('email');
     $email->libelle = $request->input('libelle');
     $email->save();
     return view('email_ok');
 }
 public function addEmail(Request $request)
 {
     $this->validate($request, ['email' => 'required|email|unique:emails,email,NULL,id,verified,1|unique:emails,email,NULL,id,user_id,' . Auth::user()->id]);
     $email = new Email();
     $email->email = $request->get('email');
     $email->user_id = Auth::user()->id;
     $email->save();
     $this->dispatch(new SendVerificationEmail($email));
     return redirect()->back();
 }
 public function signUp(Request $request)
 {
     $validator = Validator::make($request->all(), ['email' => 'required|different:password|email|unique:users,email', 'password' => 'required|min:12']);
     if ($validator->fails()) {
         return redirect('/signup')->withErrors($validator)->withInput();
     }
     $user = new User();
     $user->email = $request->get('email');
     $user->password = bcrypt($request->get('password'));
     $user->save();
     $email = new Email();
     $email->user_id = $user->id;
     $email->email = $user->email;
     $email->verified = false;
     $email->save();
     $this->dispatch(new SendVerificationEmail($email));
     return redirect('/')->with('message', 'Successfully registered. Please check your email for a verification link.');
 }
Exemple #7
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $telefone = Input::get('telefone');
     $email = Input::get('email');
     $contacto = new Contacto();
     Auth::user()->contacto()->save($contacto);
     $t = new Telefone();
     $t->telefone = $telefone;
     $t->contacto()->associate($contacto);
     $t->save();
     $e = new Email();
     $e->email = $email;
     $e->contacto()->associate($contacto);
     $e->save();
     $contactos = true;
     $vista = 'contacto';
     Session::flash('message', 'Dados gravados com sucesso');
     return view('gestorCurriculum', ["contactos" => $contactos, "cont" => $contacto, "vista" => $vista, 'nav' => 'contacto']);
     //return redirect(route('visualizarContacto',['id'=>$contacto->id]));
 }
 public function addMailNumber()
 {
     $mail = new Email();
     $slug = Input::get('userSlug');
     $user = User::where('slug', '=', $slug)->first();
     $mail->email = Input::get('userMail');
     $mail->user_id = $user->id;
     $mail->save();
     return Response::json(['success' => true, 'response' => 'ok']);
 }
 public function receive_notifications()
 {
     $post = file_get_contents('php://input');
     // $test = new Test;
     // $test->content = $post;
     // $test->save();
     $noti = json_decode($post);
     $message = json_decode($noti->Message);
     $mail_id = $message->mail->messageId;
     $mail_status = $message->notificationType;
     $mail = Email::find($mail_id);
     if ($mail == null) {
         $mail = new Email();
     }
     $mail->status = email_status_str_to_int($mail_status);
     $mail->save();
 }
Exemple #10
0
 public function processEmail($message)
 {
     if (Email::where('gmail_uid', $message->id)->count() == 0) {
         $mail = new Email();
         $service = Mailbox::getGmailService();
         $user = '******';
         try {
             $message_data = $service->users_messages->get($user, $message->id);
         } catch (Exception $e) {
             print 'An error occurred: ' . $e->getMessage();
         }
         foreach ($message_data->getPayload()->headers as $header) {
             if ($header['name'] == 'Subject') {
                 $mail->subject = $header['value'];
             }
             if ($header['name'] == 'Cc') {
                 $mail->cc = $header['value'];
             }
             if ($header['name'] == 'From') {
                 $from_pos = strpos($header['value'], "<");
                 $from_name = substr($header['value'], 0, $from_pos);
                 $from_address = substr($header['value'], $from_pos + 1, -1);
                 $mail->sender_name = $from_name;
                 $mail->sender_address = $from_address;
             }
             if ($header['name'] == 'Date') {
                 $mail->received_at = Carbon::createFromFormat('D, d M Y H:i:s T', $header['value']);
             }
         }
         $mail->mailbox_id = $this->id;
         $attachments = new Collection();
         if ($message_data->getPayload()->body['size'] == 0) {
             foreach ($message_data->getPayload()->parts as $part) {
                 if (count($part->parts) > 0) {
                     foreach ($part->parts as $subpart) {
                         if ($subpart->mimeType == 'text/html') {
                             $mail->mimetype = 'text/html';
                             $mail->content = base64_decode(strtr($subpart->getBody()->data, '-_,', '+/='));
                         }
                     }
                 }
                 if ($part->mimeType == 'text/html') {
                     $mail->mimetype = 'text/html';
                     $mail->content = base64_decode(strtr($part->getBody()->data, '-_,', '+/='));
                 }
                 if ($part['filename'] != '') {
                     $attachment_data = $service->users_messages_attachments->get("me", $message->id, $part->getBody()->attachmentId);
                     $file_raw_data = base64_decode(strtr($attachment_data->data, array('-' => '+', '_' => '/')));
                     $stored_filename = $message->id . '-' . time() . '-' . $part['filename'];
                     $fh = fopen(public_path() . "/email_attachments/" . $stored_filename, "w+");
                     fwrite($fh, $file_raw_data);
                     fclose($fh);
                     $attachment = new EmailAttachment();
                     $attachment->file_path = "email_attachments/" . $stored_filename;
                     $attachment->file_name = $part['filename'];
                     $attachment->save();
                     $attachments->push($attachment);
                 }
             }
             if (!$mail->content) {
                 foreach ($message_data->getPayload()->parts as $part) {
                     if ($part->mimeType == 'text/plain') {
                         $mail->mimetype = 'text/plain';
                         $mail->content = base64_decode(strtr($part->getBody()->data, '-_,', '+/='));
                     }
                 }
             }
         } else {
             $mail->mimetype = 'text/plain';
             $mail->content = base64_decode(strtr($message_data->getPayload()->body['data'], '-_,', '+/='));
         }
         $mail->gmail_uid = $message->id;
         $mail->save();
         if ($attachments->count() > 0) {
             foreach ($attachments as $a) {
                 $a->email_id = $mail->id;
                 $a->save();
             }
         }
         $mail->matchToPatient();
         $mail->addProcessedLabel();
     }
 }