yf_mail_driver_mailgun class| File | plugins/email/classes/mail/yf_mail_driver_mailgun.class.php |
|---|---|
| Use | _class('mail_driver_mailgun', 'classes/mail/') |
| Extends | yf_mail_driver |
A site sets them in its config with $PROJECT_CONF['mail_driver_mailgun']['NAME'] = ...;
| Property | Default | Description |
|---|---|---|
$PARENT |
null |
|
$domainstring |
null |
The Mailgun domain. |
$keystring |
null |
The Mailgun API key |
$urlstring |
null |
THe Mailgun API end-point. |
public function send(array $params = [], &$error_message = '')
https://documentation.mailgun.com/api-sending.html#examples.
$params array public function send(array $params = [], &$error_message = '')
{
$mail = null;
require_php_lib('mailgun');
$error_message = null;
$mail = null;
$result = null;
try {
$mg = new Mailgun\Mailgun($this->key);
$opts = $this->PARENT->ALLOW_ATTACHMENTS ? ['attachment' => array_values($params['attaches'])] : [];
// Now, compose and send your message.
$result = $mg->sendMessage($this->domain, [
'from' => $params['email_from'],
'to' => $params['email_to'],
'subject' => $params['subject'],
'text' => $params['text'],
'html' => $params['html'],
], $opts);
} catch (Exception $e) {
$error_message = 'A mailgun error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
}
if (($error_message ?? null) && DEBUG_MODE && $this->PARENT->MAIL_DEBUG_ERROR) {
trigger_error($error_message, E_USER_WARNING);
}
if (is_callable($params['on_after_send'])) {
$callback = $params['on_after_send'];
$callback($mail, $params, $result, $error_message, $this->PARENT);
}
$this->PARENT->_last_error_message = $error_message;
return $result && ! $error_message ? true : false;
}
_ hooks and helpers; not routable as page actionspublic function __call($name, $args)
Catch missing method call.
public function __call($name, $args)
{
return main()->extend_call($this, $name, $args);
}
public function _init()
public function _init()
{
$this->PARENT = _class('send_mail');
}