MOON
Server: Apache
System: Linux server.royaltuning.hu 4.18.0-425.13.1.el8_7.x86_64 #1 SMP Tue Feb 21 04:20:52 EST 2023 x86_64
User: royaltuning (1001)
PHP: 8.2.32
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //var/www/html/Modules/Sms/Gateways/Vonage.php
<?php

namespace Modules\Sms\Gateways;

use Exception;
use Vonage\Client;
use Vonage\SMS\Message\SMS;
use Modules\Sms\GatewayInterface;
use Vonage\Client\Credentials\Basic;
use Modules\Sms\Exceptions\SmsException;

class Vonage implements GatewayInterface
{
    public function client()
    {
        return new Client(
            new Basic(setting('vonage_key'), setting('vonage_secret'))
        );
    }

    public function send(string $to, string $message)
    {
        try {
            $text = new SMS($to, setting('sms_from'), $message);

            $this->client()->sms()->send($text);
        } catch (Exception $e) {
            throw new SmsException('Vonage: ' . $e->getMessage());
        }
    }
}