2016-09-21 289 views
0

我想創建一個將自動發送電子郵件基座上的狀態的過程。發送電子郵件自動在laravel

在我的表我有一個expire_date列,並希望發送電子郵件自動給大家提醒他們,他們的帳戶將在下週到期。
我使用laravel和MySQL。

謝謝

+0

而且問題會是什麼? –

+1

我建議你在cron作業讀了[調度Laravel文檔](https://laravel.com/docs/5.3/scheduling)和[郵件Laravel文檔](https://laravel.com/docs/5.3/mail) – Carlos

回答

1

設置,檢查一個星期內到期的用戶,每天的計劃任務。

在app /控制檯/ kernel.php

protected function schedule(Schedule $schedule) 
{ 
    $schedule->command('notify:expirations') 
       ->daily(); 
} 

,並用於檢查到期新人員命令。

不要忘了在服務器上設置cron作業運行php artisan schedule:run每分鐘

0

您可以使用laravel的Mail門面。

喜歡的東西

$ten_days_from_now = \Carbon\Carbon::now()->addDay(10); 
$users = User::where('expire_date', '<', $ten_days_from_now)->get(); 

foreach ($users as $user) { 
    Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) { 
     $m->from('[email protected]', 'Your Application'); 

     $m->to($user->email, $user->name)->subject('Your Reminder!'); 
    }); 
} 

你可以把像這樣到一個命令,並用一個cron執行它。