mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-31 17:19:59 +09:00
Merge branch 'rhymix:master' into develop
This commit is contained in:
commit
6e84829da4
80 changed files with 656 additions and 440 deletions
|
|
@ -7,15 +7,6 @@ namespace Rhymix\Framework\Drivers\Mail;
|
|||
*/
|
||||
class MailFunction extends Base implements \Rhymix\Framework\Drivers\MailInterface
|
||||
{
|
||||
/**
|
||||
* Direct invocation of the constructor is not permitted.
|
||||
*/
|
||||
protected function __construct()
|
||||
{
|
||||
include_once \RX_BASEDIR . 'common/libraries/swift_mail.php';
|
||||
$this->_mailer = new \Swift_Mailer(new \Swift_MailTransport);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the human-readable name of this mail driver.
|
||||
*
|
||||
|
|
@ -58,6 +49,12 @@ class MailFunction extends Base implements \Rhymix\Framework\Drivers\MailInterfa
|
|||
*/
|
||||
public function send(\Rhymix\Framework\Mail $message)
|
||||
{
|
||||
if ($this->_mailer === null)
|
||||
{
|
||||
include_once \RX_BASEDIR . 'common/libraries/swift_mail.php';
|
||||
$this->_mailer = new \Swift_Mailer(new \Swift_MailTransport);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$errors = [];
|
||||
|
|
|
|||
|
|
@ -116,12 +116,13 @@ class Mailgun extends Base implements \Rhymix\Framework\Drivers\MailInterface
|
|||
// Send the API request.
|
||||
$url = self::$_url . '/' . $this->_config['api_domain'] . '/messages.mime';
|
||||
$request = \Rhymix\Framework\HTTP::post($url, $data, $headers, [], $settings);
|
||||
$result = @json_decode($request->getBody()->getContents());
|
||||
$result_text = $request->getBody()->getContents();
|
||||
$result = @json_decode($result_text);
|
||||
|
||||
// Parse the result.
|
||||
if (!$result)
|
||||
{
|
||||
$message->errors[] = 'Mailgun: API error: ' . $request->getBody()->getContents();
|
||||
$message->errors[] = 'Mailgun: API error: ' . $result_text;
|
||||
return false;
|
||||
}
|
||||
elseif (!$result->id)
|
||||
|
|
|
|||
|
|
@ -7,23 +7,6 @@ namespace Rhymix\Framework\Drivers\Mail;
|
|||
*/
|
||||
class SMTP extends Base implements \Rhymix\Framework\Drivers\MailInterface
|
||||
{
|
||||
/**
|
||||
* Direct invocation of the constructor is not permitted.
|
||||
*/
|
||||
protected function __construct(array $config)
|
||||
{
|
||||
$security = in_array($config['smtp_security'], ['ssl', 'tls']) ? $config['smtp_security'] : null;
|
||||
$transport = new \Swift_SmtpTransport($config['smtp_host'], $config['smtp_port'], $security);
|
||||
$transport->setUsername($config['smtp_user']);
|
||||
$transport->setPassword($config['smtp_pass']);
|
||||
$local_domain = $transport->getLocalDomain();
|
||||
if (preg_match('/^\*\.(.+)$/', $local_domain, $matches))
|
||||
{
|
||||
$transport->setLocalDomain($matches[1]);
|
||||
}
|
||||
$this->mailer = new \Swift_Mailer($transport);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of configuration fields required by this mail driver.
|
||||
*
|
||||
|
|
@ -56,9 +39,32 @@ class SMTP extends Base implements \Rhymix\Framework\Drivers\MailInterface
|
|||
*/
|
||||
public function send(\Rhymix\Framework\Mail $message)
|
||||
{
|
||||
if ($this->_mailer === null)
|
||||
{
|
||||
if (isset($this->_config['smtp_security']) && in_array($this->_config['smtp_security'], ['ssl', 'tls']))
|
||||
{
|
||||
$security = $this->_config['smtp_security'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$security = null;
|
||||
}
|
||||
|
||||
$transport = new \Swift_SmtpTransport($this->_config['smtp_host'], $this->_config['smtp_port'], $security);
|
||||
$transport->setUsername($this->_config['smtp_user']);
|
||||
$transport->setPassword($this->_config['smtp_pass']);
|
||||
$local_domain = $transport->getLocalDomain();
|
||||
if (preg_match('/^\*\.(.+)$/', $local_domain, $matches))
|
||||
{
|
||||
$transport->setLocalDomain($matches[1]);
|
||||
}
|
||||
$this->_mailer = new \Swift_Mailer($transport);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$result = $this->mailer->send($message->message, $errors);
|
||||
$errors = [];
|
||||
$result = $this->_mailer->send($message->message, $errors);
|
||||
}
|
||||
catch(\Exception $e)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue