public function register()
{
/** @var \Illuminate\Config\Repository $config */
$config = $this->app->make('config');
/**
* Register main Mailgun service
*/
$this->app->bind('mailgun', function () use($config) {
$clientAdapter = $this->app->make('mailgun.client');
$mg = $this->app->make(MailgunApi::class, [$config->get('mailgun.api_key'), $clientAdapter, $config->get('mailgun.api.endpoint')]);
$mg->setApiVersion($config->get('mailgun.api.version'));
$mg->setSslEnabled($config->get('mailgun.api.ssl', true));
return new Service($mg, $this->app->make('view'), $config);
});
/**
* Register the public Mailgun service
*/
$this->app->bind('mailgun.public', function () use($config) {
$clientAdapter = $this->app->make('mailgun.client');
$mg = $this->app->make(MailgunApi::class, [$config->get('mailgun.public_api_key'), $clientAdapter, $config->get('mailgun.api.endpoint')]);
$mg->setApiVersion($config->get('mailgun.api.version'));
$mg->setSslEnabled($config->get('mailgun.api.ssl', true));
return $mg;
});
$this->app->bind(MailgunContract::class, 'mailgun');
}