Page MenuHomePhorge

PhabricatorMailImplementationAmazonSESAdapter.php
No OneTemporary

PhabricatorMailImplementationAmazonSESAdapter.php

<?php
final class PhabricatorMailImplementationAmazonSESAdapter
extends PhabricatorMailImplementationPHPMailerLiteAdapter {
const ADAPTERTYPE = 'ses';
private $message;
private $isHTML;
public function prepareForSend() {
parent::prepareForSend();
$this->mailer->Mailer = 'amazon-ses';
$this->mailer->customMailer = $this;
}
public function supportsMessageIDHeader() {
// Amazon SES will ignore any Message-ID we provide.
return false;
}
protected function validateOptions(array $options) {
PhutilTypeSpec::checkMap(
$options,
array(
'access-key' => 'string',
'secret-key' => 'string',
'endpoint' => 'string',
));
}
public function newDefaultOptions() {
return array(
'access-key' => null,
'secret-key' => null,
'endpoint' => null,
);
}
public function newLegacyOptions() {
return array(
'access-key' => PhabricatorEnv::getEnvConfig('amazon-ses.access-key'),
'secret-key' => PhabricatorEnv::getEnvConfig('amazon-ses.secret-key'),
'endpoint' => PhabricatorEnv::getEnvConfig('amazon-ses.endpoint'),
);
}
/**
* @phutil-external-symbol class SimpleEmailService
*/
public function executeSend($body) {
$key = $this->getOption('access-key');
$secret = $this->getOption('secret-key');
$endpoint = $this->getOption('endpoint');
$root = phutil_get_library_root('phabricator');
$root = dirname($root);
require_once $root.'/externals/amazon-ses/ses.php';
$service = new SimpleEmailService($key, $secret, $endpoint);
$service->enableUseExceptions(true);
return $service->sendRawEmail($body);
}
}

File Metadata

Mime Type
text/x-php
Expires
Mon, Jun 9, 06:40 (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1768469
Default Alt Text
PhabricatorMailImplementationAmazonSESAdapter.php (1 KB)

Event Timeline