Use api_key and api_secret settings for Amazon SES mail driver

This commit is contained in:
Kijin Sung 2017-07-04 22:17:33 +09:00
parent e6d7257c11
commit e1846a4b6d
3 changed files with 8 additions and 4 deletions

View file

@ -17,7 +17,7 @@ class SES extends Base implements \Rhymix\Framework\Drivers\MailInterface
*/ */
protected function __construct(array $config) protected function __construct(array $config)
{ {
$transport = \Swift_AWSTransport::newInstance($config['api_user'], $config['api_pass']); $transport = \Swift_AWSTransport::newInstance($config['api_key'] ?: $config['api_user'], $config['api_secret'] ?: $config['api_pass']);
$transport->setDebug(array($this, 'debugCallback')); $transport->setDebug(array($this, 'debugCallback'));
$transport->setEndpoint('https://email.' . strtolower($config['api_type']) . '.amazonaws.com/'); $transport->setEndpoint('https://email.' . strtolower($config['api_type']) . '.amazonaws.com/');
$this->mailer = \Swift_Mailer::newInstance($transport); $this->mailer = \Swift_Mailer::newInstance($transport);
@ -30,7 +30,7 @@ class SES extends Base implements \Rhymix\Framework\Drivers\MailInterface
*/ */
public static function getRequiredConfig() public static function getRequiredConfig()
{ {
return array('api_user', 'api_pass', 'api_type'); return array('api_key', 'api_secret', 'api_type');
} }
/** /**

View file

@ -456,6 +456,10 @@ class adminAdminView extends admin
Context::set('sms_drivers', $sms_drivers); Context::set('sms_drivers', $sms_drivers);
Context::set('sms_driver', config('sms.type') ?: 'dummy'); Context::set('sms_driver', config('sms.type') ?: 'dummy');
// Workaround for compatibility with older version of Amazon SES driver.
config('mail.ses.api_key', config('mail.ses.api_user'));
config('mail.ses.api_secret', config('mail.ses.api_pass'));
$this->setTemplateFile('config_notification'); $this->setTemplateFile('config_notification');
} }

View file

@ -135,10 +135,10 @@ class Advanced_Mailer extends ModuleObject
$systemconfig["mail.$driver_name.api_type"] = $value; $systemconfig["mail.$driver_name.api_type"] = $value;
break; break;
case 'access_key': case 'access_key':
$systemconfig["mail.$driver_name.api_user"] = $value; $systemconfig["mail.$driver_name.api_key"] = $value;
break; break;
case 'secret_key': case 'secret_key':
$systemconfig["mail.$driver_name.api_pass"] = $value; $systemconfig["mail.$driver_name.api_secret"] = $value;
break; break;
case 'domain': case 'domain':
$systemconfig["mail.$driver_name.api_domain"] = $value; $systemconfig["mail.$driver_name.api_domain"] = $value;