/** * Create a new email gateway instance. * * @param string[] $config * * @return \NotifyMeHQ\Adapters\Email\EmailGateway */ public function make(array $config) { Arr::requires($config, ['smtp', 'user', 'pass', 'subject']); $client = new PHPMailer(); $client->isSMTP(); $client->CharSet = 'UTF-8'; $client->Host = Arr::get($config, 'smtp'); $client->SMTPAuth = Arr::get($config, 'smtp_auth', true); $client->Username = Arr::get($config, 'user'); $client->Password = Arr::get($config, 'pass'); $client->SMTPSecure = Arr::get($config, 'smtp_secure', 'tls'); $client->Port = Arr::get($config, 'port', 587); $client->isHTML(Arr::get($config, 'html', true)); $client->setFrom(Arr::get($config, 'from', 'APP'), Arr::get($config, 'from_name', 'APP')); return new EmailGateway($client, $config); }
/** * Create a new Nexmo gateway instance. * * @param string[] $config * * @return \NotifyMeHQ\Adapters\Nexmo\NexmoGateway */ public function make(array $config) { Arr::requires($config, ['api_key', 'api_secret', 'from']); $client = new Client(); return new NexmoGateway($client, $config); }
/** * Create a new slack gateway instance. * * @param string[] $config * * @return \NotifyMeHQ\Adapters\Slack\SlackGateway */ public function make(array $config) { Arr::requires($config, ['token']); $client = new Client(); return new SlackGateway($client, $config); }
/** * Create a new webhook gateway instance. * * @param string[] $config * * @return \NotifyMeHQ\Adapters\Webhook\WebhookGateway */ public function make(array $config) { Arr::requires($config, ['endpoint']); $client = new Client(); return new WebhookGateway($client, $config); }
/** * Create a new campfire gateway instance. * * @param string[] $config * * @return \NotifyMeHQ\Adapters\Campfire\CampfireGateway */ public function make(array $config) { Arr::requires($config, ['from', 'token']); $client = new Client(); return new CampfireGateway($client, $config); }