在Laravel中向用户手机发送Bithday短信,在Laravel中设置生日、周年短信?
我们如何发送生日和周年短信,设置如下:我们可以使用Laravel Framework在用户手机中创建多条要触发的短信,以及生日或周年前的天数和短信文本???在Laravel中使用Cronjobs,您只需制作一个类似(这里我们使用两个表客户端和sms_设置) 代码是:在Laravel中向用户手机发送Bithday短信,在Laravel中设置生日、周年短信?,laravel,laravel-5.3,Laravel,Laravel 5.3,我们如何发送生日和周年短信,设置如下:我们可以使用Laravel Framework在用户手机中创建多条要触发的短信,以及生日或周年前的天数和短信文本???在Laravel中使用Cronjobs,您只需制作一个类似(这里我们使用两个表客户端和sms_设置) 代码是: class SMSController extends Controller{ public function test(Request $request){ $date =Carbon::now(); //current
class SMSController extends Controller{
public function test(Request $request){
$date =Carbon::now(); //current system date now
$date = $date->format('m/d');
// For Birthday SMS
$schedule = DB::table('sms_settings')->select('scheduled_type','number_of_days')->where('occasion','Birthday')->get();
foreach($schedule as $key=>$results){
$number_of_days = $results->number_of_days;
$scheduled_type = $results->scheduled_type;
// select clients with dob
if($scheduled_type=='Before'){
$required_date = Carbon::now()->addDays($number_of_days);
}
if($scheduled_type=='After'){
$required_date = Carbon::now()->subDays($number_of_days);
}
$required_month = $required_date->format('m');
$required_day = $required_date->format('d');
$req = $required_month."-".$required_day;
$results = DB::table('clients')->select('dob','mobile','first_name','last_name')->where('dob','LIKE','%'.$req.'%')->get();
$r1 = DB::table('clients')->select('dob','mobile','first_name','last_name')->where('dob','LIKE','%'.$req.'%')->first();
if(!$r1=null)
{
foreach($results as $key=>$result)
{
$dob = $result->dob;
$mobile_list = $result->mobile;
$first_name = $result->first_name;
$last_name = $result->last_name;
// dd($mobile_list);
$a = DB::table('sms_settings')->select('message_header','message')->where('occasion','Birthday')->get();
foreach($a as $key=>$results){
$header = $results->message_header;
$mbody = $results->message;
}
$message_text = $header." ".$first_name.","."\n". $mbody;
$authKey = urlencode('Your Auth Key');
// Message details
$mobiles = array($mobile_list);
$sender = urlencode('123456');
$message = rawurlencode($message_text);
$route=2;
$country=5;
$mobiles = implode(',', $mobiles);
// Prepare data for POST request
$data = array('authkey' => $authKey, 'mobiles' => $mobiles, "message" => $message, "sender" => $sender,"route" =>$route,"country" =>$country );
// Send the POST request with cURL
$ch = curl_init('your url');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Process your response here
}
// Execute it via performing cronjobs
}
}
//对于周年短信,请执行与上述相同的步骤
最后,您必须向服务器输入Cron条目,并通过将Laravel中Kernel.php文件上的schedule methode作为目标来调用它:
protected function schedule(Schedule $schedule){
$schedule->call('App\Http\Controllers\SMSController@test')->everyMinute();
// Perform your task every minutes.
}