PHP code example of codewiser / laravel-smscenter-mailer
1. Go to this page and download the library: Download codewiser/laravel-smscenter-mailer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codewiser / laravel-smscenter-mailer example snippets
use Codewiser\SmsCenterMailer\SmsCenterContract;
use Illuminate\Support\Facades\Mail;
use Illuminate\Mail\Events\MessageSent;
$recipients = [
'[email protected]',
'[email protected]',
];
Event::listen(MessageSent::class, function (MessageSent $event) {
$service = app(SmsCenterContract::class);
// json encoded response
$response = json_decode($event->sent->getDebug(), true);
// Die if service respond with error
$service->throw($response);
// Keep $response['id'] for later use
});
Mail::send(new CustomMailable($recipients));
use Codewiser\SmsCenterMailer\MessageStatus;
use Codewiser\SmsCenterMailer\SmsCenterContract;
use Codewiser\SmsCenterMailer\SmsCenterStatusEvent;
/**
* Execute the console command.
*/
public function handle(SmsCenterContract $provider): void
{
// For single messages
$request = $provider->buildSingleStatusPayload(
message_id: $this->argument('id'),
route: $this->argument('email')
);
// For mass sending
$request = $provider->buildMailOutStatusPayload(
message_id: $this->argument('id')
);
// Die if service respond with error
$response = $provider->throw(
$provider->send($request)
);
// Get status
$status = MessageStatus::tryFrom($response['status']) ?? MessageStatus::undefined;
// Update status or fire event (see Push)
event(new SmsCenterStatusEvent($this->argument('id'), $status));
}
use Codewiser\SmsCenterMailer\SmsCenterContract;
use Illuminate\Http\Request;
public function webhook(Request $request, SmsCenterContract $service) {
$service->webhookStatus($request->all());
return response('ok');
}
use Codewiser\SmsCenterMailer\SmsCenterStatusEvent;
/**
* Handle the event.
*/
public function handle(SmsCenterStatusEvent $event): void
{
// Find message by $event->id
// Update message status with $event->status
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.