/** * Execute the console command. * * @return void */ public function fire() { $tasks = Task::where('date', '>=', Carbon::parse(date('d-m-Y')))->where('date', '<=', Carbon::parse(date('d-m-Y'))->addDay(7))->orderBy('date', 'asc')->get(); \Mail::send('emails.remainder', ['tasks' => $tasks], function ($m) { $m->to(env('REMAINDER_EMAIL'), env('REMAINDER_NAME'))->subject('[SUN TASK] Your Task Reminder.'); }); }
/** * Execute the console command. * * @return mixed */ public function handle() { $user = Auth::user(); Mail::send('mails.weekly_update', ['user' => $user], function ($m) use($user) { $m->to($user->email)->subject('Weekly Update from Moneyburi'); }); }
public function handle() { date_default_timezone_set("America/Mexico_City"); $lastweek = Carbon::now()->startOfWeek()->subWeek(); $startOfWeek = Carbon::now()->startOfWeek()->addDay(); if ($startOfWeek->isTomorrow() == true) { $encuestas = Encuesta::History($lastweek, $startOfWeek)->get(); } else { $encuestas = Encuesta::Reinicio($startOfWeek)->get(); } $pdf = \PDF::loadView('reportes.Clientes', compact('encuestas'))->setOrientation('landscape')->save(public_path() . '/pdfs/' . 'reporte semanal' . '.pdf'); $ToMail = '*****@*****.**'; $ToName = 'Victor Zapata'; $file = public_path() . '/pdfs/' . 'reporte semanal' . '.pdf'; \Mail::send('emails.Reportes', [], function ($message) use($ToName, $ToMail, $file) { //remitente $message->from(env('MAIL_FROM'), env('MAIL_NAME')); //asunto $message->subject('Reporte Semanal Thaigreen'); //receptor $message->to($ToMail, $ToName); $message->to('*****@*****.**', 'Mike'); $message->to('*****@*****.**', $name = null); //Adjunto $message->attach($file, ['as' => 'Reporte Semanal.PDF']); }); chmod(public_path() . '/pdfs/' . 'reporte semanal.pdf', 0777); unlink(public_path() . '/pdfs/' . 'reporte semanal.pdf'); }
private function sendMail($email, $file = null) { $this->output->note($email); $person[10] = $file ?: 'convite-MLF.jpg'; Mailer::send('mail', ['person' => $person], function ($m) use($person, $email) { $m->to($email)->subject(utf8_encode('Convite - Modernização do Legislativo Fluminense')); }); }
/** * Execute the console command. * * @return mixed */ public function handle() { $email = config('system.reset_password_recipients'); if ($email) { $newPassword = str_random(15); $user = ModelFactory::getInstance('User')->find(1); if ($user) { $user->password = bcrypt($newPassword); if ($user->save()) { $email = explode(',', $email); $data['password'] = $newPassword; $data['from'] = config('system.from'); \Mail::send('emails.reset_password', $data, function ($m) use($email) { $m->from(config('system.from_email'), config('system.from')); $m->to($email)->subject('Reset Password'); }); } } } }
/** * Execute the console command. * * @param Schedule $schedule * @param Event $event * @param Record $record */ public function handle(Schedule $schedule, Event $event, Record $record) { $uptimeRobot = new UptimeRobot(env('UPTIMEROBOT_API')); $getMonitors = simplexml_load_string($uptimeRobot->getMonitors()); foreach ($getMonitors->monitor as $monitor) { // Check for the restart signal. $check = $event->where('event', 'restart'); if ($monitor['status'] == 9) { // Record the restart $event->create(['machine_name' => 'ubuntu-512mb-sgp1-01', 'event' => 'restart']); // Check for the record of recent restart $recentRestart = $record->where('event', 'restart'); // If there is a recent record but no signal found if ($recentRestart->count() > 0 && $check->count() < 6) { \Mail::send('Email.Down', [], function ($message) { $message->to('*****@*****.**', 'Hashim Ibrahim')->subject('About your server'); }); } else { // 4 hours have been passed. $hoursPassed = $check->where('created_at', '<', 'DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 4 HOUR)'); if ($hoursPassed->count() > 0) { if ($schedule->exec('envoy run monitorStatus')) { \Log::info('Envoy ran @ ' . \Carbon\Carbon::now()); \Mail::send('Email.Server', ['time' => \Carbon\Carbon::now()], function ($message) { $message->to('*****@*****.**', 'Hashim Ibrahim')->subject('About your server'); }); // Save this restart to db $record->create(['event' => 'restart']); } else { \Log::info('Envoy is not working @ ' . \Carbon\Carbon::now()); } } $check->delete(); } } else { $check->delete(); \Log::info('Monitor status is good @ ' . \Carbon\Carbon::now()); } } }
public function handle() { $num = $this->argument('num'); $queuedEmails = QueuedEmail::query()->take($num)->get(); foreach ($queuedEmails as $email) { $standardData = ['site_name' => config('app.site_name'), 'user' => $email->recipient]; $data = array_merge($standardData, $email->data); \Mail::send($email->template, $data, function (\Illuminate\Mail\Message $msg) use($email) { $msg->from(config('app.site_email'), config('app.site_name')); if (!empty($email->recipient->email)) { $msg->to($email->recipient->email, $email->recipient->name); } else { // If the recipient doesn't have an email address recorded, // forward this to the site administrator to figure out. $msg->to(config('app.site_email')); $transParams = ['name' => $email->recipient->name, 'site_email' => config('app.site_email')]; $newBody = trans('mail.no-recipient-address', $transParams) . '<hr />' . $msg->getSwiftMessage()->getBody(); $msg->getSwiftMessage()->setBody($newBody); } $msg->subject($email->subject); }); $email->delete(); } }
/** * Execute the console command. * * @return mixed */ public function fire() { \Log::info("Elie Ishimwe"); $nowDate = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString(); //$endDate = \Carbon\Carbon::now('Africa/Johannesburg')->addMinutes(5); $cases = CaseReport::where('accepted_at', '=', '0000-00-00 00:00:00')->where('referred_at', '<>', '0000-00-00 00:00:00')->get(); \Log::info("Cases:"); \Log::info($cases); foreach ($cases as $case) { if ($case->sub_sub_category > 0) { $firstRespondersObj = CaseResponder::where("sub_sub_category", '=', $case->sub_sub_category)->select('firstResponder')->get(); \Log::info("First Responders"); \Log::info($firstRespondersObj); \Log::info(sizeof($firstRespondersObj)); $secondRespondersObj = CaseResponder::where("sub_sub_category", '=', $case->sub_sub_category)->select('secondResponder')->get(); \Log::info("Second Responders"); \Log::info($secondRespondersObj); \Log::info(sizeof($secondRespondersObj)); if (sizeof($firstRespondersObj) > 0) { $firstResponders = explode(",", $firstRespondersObj->firstResponder); foreach ($firstResponders as $firstResponder) { $firstResponderUser = User::find($firstResponder); $data = array('name' => $firstResponderUser->name, 'caseID' => $case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description); \Mail::send('emails.firstNotification', $data, function ($message) use($firstResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($firstResponderUser->username)->subject("Siyaleader Notification - New Case Notification:"); }); } } /* if (sizeof($secondRespondersObj) > 0) { $secondResponders = explode(",",$secondRespondersObj->secondResponder); foreach ($secondResponders as $secondResponder) { $secondResponderUser = User::find($secondResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $secondResponder ; $caseOwner->caseId = $case->id; $caseOwner->type = 2; $caseOwner->active = 1; $caseOwner->save(); $data = array( 'name' =>$secondResponderUser->name, 'caseID' =>$case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description, ); \Mail::send('emails.responder',$data, function($message) use ($secondResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($secondResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); } }*/ } } }
/** * Execute the console command. * * @return mixed */ public function handle() { // Get contracts that are still active. $contracts = Contract::where('State', '!=', 'used')->where('State', '!=', 'cancelled')->where('State', '!=', 'paid')->get(); foreach ($contracts as $contract) { // Check if we have visited this month. if ($contract->Visited) { // Check if we should reset this. if ($contract->QuotaInterval == 'mensuales') { if ('01' == date('d')) { $contract->Visited = false; $contract->save(); } } else { if ($contract->QuotaInterval == 'quincenales') { if ('01' == date('d')) { $contract->Visited = false; $contract->save(); } else { if ('16' == date('d')) { $contract->Visited = false; $contract->save(); } } } else { if (date('D') == 'Mon') { $contract->Visited = false; $contract->save(); } } } } // Check if we need to organize a visit for this contract. if (!$contract->Visited) { if ($contract->StartDate < date('Y-m-d')) { $visitDates = explode(',', $contract->PaymentDates); foreach ($visitDates as $date) { if ($date == date('d', strtotime("+3 days"))) { // Check if we already have a visit programmed for this contract. $transports = Transport::where('Type', '=', '8')->where('ReasonId', '=', $contract->Id)->where('Date', '=', date('Y-m-d', strtotime("+3 days")))->get(); if (count($transports) == 0) { // Get an appropriate vehicle for this. $vehicles = Vehicle::where('BranchId', '=', $contract->BranchId)->where('Repair', '=', false)->get(); $vehicle = null; foreach ($vehicles as $v) { if (!$vehicle) { $vehicle = $v; } // In this case the smaller the vehicle the more suitable it should be. // TODO: This could be improved. if ($v->Type < $vehicle->Type) { $vehicle = $v; } } if (!$vehicle) { // In this case we don't have a vehicle and the provider doesn't provide delivery so we must notify an administrator. $users = User::where('UserLevel', '=', 1)->get(); foreach ($users as $admin) { Notification::create(array('UserId' => $admin->Id, 'Created' => date('Y-m-d H:i:s'), 'Reason' => 'Aergia no fue capaz de organizar el cobro para el contrato ' . $contract->Code . '. Por favor revisar y organizar el cobro de la cuota de este contrato.', 'Url' => '/contract/' . $contract->Id, 'Seen' => false)); } } else { // Get location of client. $client = Client::find($contract->ClientId); $location = Location::find($client->LocationId); $transport = Transport::create(array('Date' => date('Y-m-d', strtotime("+3 day")), 'Time' => '00:00:00', 'VehicleId' => $vehicle->Id, 'DriverId' => 0, 'StartLatitude' => 0, 'StartLongitude' => 0, 'Journey' => '[]', 'EndLatitude' => $location->Latitude, 'EndLongitude' => $location->Longitude, 'EndAddress' => $client->Address, 'Distance' => 0, 'ReasonId' => $contract->Id, 'Type' => 8, 'State' => 2, 'Order' => 0, 'Depreciation' => 0)); // Inform creditor of when you shall collect payment. if ($client->Email != '') { Mail::send('emails.ai.contractReminder', ['contract' => $contract, 'transport' => $transport], function ($message) use($contract, $client) { $message->to($client->Email); $message->subject('Cobro de Cuota de Contrato: ' . $contract->Code); }); } } } } } } } // TODO: Not sure if I want to do something in these cases. switch ($contract->State) { case 'usedpending': break; case 'late': break; } } }
private function drawTable($projects) { foreach ($projects as $key => $claims) { $project = Project::find($key); $styleTd = 'style="border:1px solid #000;"'; $table = '<table cellpadding="2" cellspacing="0" style="margin: 0; width:100%;">'; $table .= "<tr><td {$styleTd}>id</td><td {$styleTd}>Дата</td><td {$styleTd}>Клиент</td><td {$styleTd}>Контактный телефон</td><td {$styleTd}>Описание</td><td {$styleTd}>Дата обратного звонка</td><td {$styleTd}>Статус</td>"; $propertiesPR = Property::where('model_initiator', '=', 'project')->where('link_id', '=', $key)->orderBy('sort')->get(); foreach ($propertiesPR as $property) { $table .= "<td {$styleTd}>" . $property->title . "</td>"; } $table .= "</tr>"; foreach ($claims as $claim) { $table .= "<tr>"; $table .= "<td {$styleTd}>{$claim->id}</td>"; $table .= "<td {$styleTd}>" . $claim->created_at->format('d.m.Y H:i') . "</td>"; $table .= "<td {$styleTd}>{$claim->name}</td>"; $table .= "<td {$styleTd}>{$claim->phone}</td>"; $table .= "<td {$styleTd}>{$claim->text}</td>"; $table .= "<td {$styleTd}>{$claim->backcall_at}</td>"; $table .= "<td {$styleTd}>" . $claim->statusT->title . "</td>"; $propertiesByTitle = []; $properties = \App\Property::showPropertyValue($claim); foreach ($properties as $prop) { $propertiesByTitle[$prop["title"]] = $prop["value"]; } foreach ($propertiesPR as $property) { if (!empty($propertiesByTitle[$property->title])) { $table .= "<td {$styleTd}>" . $propertiesByTitle[$property->title] . "</td>"; } else { $table .= "<td {$styleTd}></td>"; } } $table .= "</tr>"; } $table .= "</table>"; $title = "Отчет за неделю: " . $project->title; \Mail::send('emails.reports', compact('table', 'title'), function ($message) use($project) { $emails = []; $emails[] = $project->client->email; if (!empty($project->client->send_email)) { $emailsSplit = explode(",", $project->client->send_email); foreach ($emailsSplit as $item) { $emails[] = trim($item); } } $message->to($emails, 'Callcenter №1')->subject('Круглосуточный call-центр №1'); }); } }
/** * Execute the console command. * * @return mixed */ public function fire() { // Expiring Assets $expiring_assets = Asset::getExpiringWarrantee(Setting::getSettings()->alert_interval); $this->info(count($expiring_assets) . ' expiring assets'); $asset_data['count'] = count($expiring_assets); $asset_data['email_content'] = ''; $now = date("Y-m-d"); foreach ($expiring_assets as $asset) { $expires = $asset->warrantee_expires(); $difference = round(abs(strtotime($expires) - strtotime($now)) / 86400); if ($difference > 30) { $asset_data['email_content'] .= '<tr style="background-color: #fcffa3;">'; } else { $asset_data['email_content'] .= '<tr style="background-color:#d9534f;">'; } $asset_data['email_content'] .= '<td><a href="' . config('app.url') . '/hardware/' . e($asset->id) . '/view">'; $asset_data['email_content'] .= $asset->showAssetName() . '</a></td><td>' . e($asset->asset_tag) . '</td>'; $asset_data['email_content'] .= '<td>' . e($asset->warrantee_expires()) . '</td>'; $asset_data['email_content'] .= '<td>' . $difference . ' days</td>'; $asset_data['email_content'] .= '<td>' . ($asset->supplier ? e($asset->supplier->name) : '') . '</td>'; $asset_data['email_content'] .= '<td>' . ($asset->assigneduser ? e($asset->assigneduser->fullName()) : '') . '</td>'; $asset_data['email_content'] .= '</tr>'; } // Expiring licenses $expiring_licenses = License::getExpiringLicenses(Setting::getSettings()->alert_interval); $this->info(count($expiring_licenses) . ' expiring licenses'); $license_data['count'] = count($expiring_licenses); $license_data['email_content'] = ''; foreach ($expiring_licenses as $license) { $expires = $license->expiration_date; $difference = round(abs(strtotime($expires) - strtotime($now)) / 86400); if ($difference > 30) { $license_data['email_content'] .= '<tr style="background-color: #fcffa3;">'; } else { $license_data['email_content'] .= '<tr style="background-color:#d9534f;">'; } $license_data['email_content'] .= '<td><a href="' . config('app.url') . '/admin/licenses/' . $license->id . '/view">'; $license_data['email_content'] .= $license->name . '</a></td>'; $license_data['email_content'] .= '<td>' . $license->expiration_date . '</td>'; $license_data['email_content'] .= '<td>' . $difference . ' days</td>'; $license_data['email_content'] .= '</tr>'; } if (Setting::getSettings()->alert_email != '' && Setting::getSettings()->alerts_enabled == 1) { if (count($expiring_assets) > 0) { \Mail::send('emails.expiring-assets-report', $asset_data, function ($m) { $m->to(explode(',', Setting::getSettings()->alert_email), Setting::getSettings()->site_name); $m->subject('Expiring Assets Report'); }); } if (count($expiring_licenses) > 0) { \Mail::send('emails.expiring-licenses-report', $license_data, function ($m) { $m->to(explode(',', Setting::getSettings()->alert_email), Setting::getSettings()->site_name); $m->subject('Expiring Licenses Report'); }); } } else { if (Setting::getSettings()->alert_email == '') { echo "Could not send email. No alert email configured in settings. \n"; } elseif (Setting::getSettings()->alerts_enabled != 1) { echo "Alerts are disabled in the settings. No mail will be sent. \n"; } } }