Files
piratepoet/lib/Mailer/Methods/ErrorMappers/AmazonSESMapper.php
Rostislav Wolny f5c9d0f7db Remove unnecessary test_email extra parameter for mailer->send
It was used only to prevent appending unprocessed subscribers into error message.
Since the message is now composed by on demand by MailerError the parameter is not needed any more.

[MAILPOET-1154]
2018-09-13 11:12:38 +02:00

37 lines
1.3 KiB
PHP

<?php
namespace MailPoet\Mailer\Methods\ErrorMappers;
use MailPoet\Mailer\MailerError;
use MailPoet\Mailer\Mailer;
use MailPoet\Mailer\SubscriberError;
class AmazonSESMapper {
use ConnectionErrorMapperTrait;
function getErrorFromException(\Exception $e, $subscriber) {
$level = MailerError::LEVEL_HARD;
if($e instanceof \Swift_RfcComplianceException) {
$level = MailerError::LEVEL_SOFT;
}
$subscriber_errors = [new SubscriberError($subscriber, null)];
return new MailerError(MailerError::OPERATION_SEND, $level, $e->getMessage(), null, $subscriber_errors);
}
/**
* @see https://docs.aws.amazon.com/ses/latest/DeveloperGuide/api-error-codes.html
* @return MailerError
*/
function getErrorFromResponse($response, $subscriber) {
$message = ($response) ?
$response->Error->Message->__toString() :
sprintf(__('%s has returned an unknown error.', 'mailpoet'), Mailer::METHOD_AMAZONSES);
$level = MailerError::LEVEL_HARD;
if($response && $response->Error->Code->__toString() === 'MessageRejected') {
$level = MailerError::LEVEL_SOFT;
}
$subscriber_errors = [new SubscriberError($subscriber, null)];
return new MailerError(MailerError::OPERATION_SEND, $level, $message, null, $subscriber_errors);
}
}