@Tiasar
Web Developer

Почему не ловится исключение Swift_TransportException в queue\JobInterface?

В конфиге console.php:
'mailer' => [
            'class' => \yii\swiftmailer\Mailer::class,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'mail.mymail.test',
                'username' => getenv('YII_MAILER_USER'),
                'password' => getenv('YII_MAILER_PASSWORD'),
                'port' => '587',
                'encryption' => 'tls',
            ],
            'useFileTransport' => false,
        ],

Exception не ловиться в catch
try {
    Yii::$app->mailer->compose()
        ->setFrom('info@mymail.test')
        ->setTo('info@invalid_mail_domain.test')
        ->setSubject('test')
        ->send();
}
catch (\Swift_TransportException  $e) {
    $mailed_status = 'ERROR';
    $_mailed_to['error'] = $e->getMessage();
}

Если сделать это же в обычном контроллере без очередей, то все работает. А вот в консоли через очередь не хочет? Что не так?

Листенер пробовал запускать и с изоляцией и без

yii queue/listen --verbose=1 --color=1 --isolate=0
yii queue/listen --verbose=1 --color=1


Результат всегда один:
root@php-fpm-0:/var/www/html# /var/www/irp/yii queue/listen --verbose=1 --color=1
2021-08-26 10:30:10 [pid: 94] - Worker is started
2021-08-26 10:30:17 [890] app\modules\system\queue\QueueJobThreatMailing (attempt: 1, pid: 94) - Started
2021-08-26 10:30:20 [890] app\modules\system\queue\QueueJobThreatMailing (attempt: 1, pid: 94) - Error (2.586 s)
> Swift_TransportException: Expected response code 250 but got code "503", with message "503 5.5.1 Error: nested MAIL command


UPD:
Такой exception ловится без проблем:
try {
    throw new Exception('Exception!!!');  
}
catch (Exception $e) {
    echo 'Exception has catched: ' . $e->getMessage() . PHP_EOL;
}

2021-08-26 12:18:22 [pid: 116] - Worker is started
2021-08-26 12:18:29 [898] app\modules\system\queue\QueueJobThreatMailing (attempt: 1, pid: 116) - Started
Exception has catched: Exception!!!
2021-08-26 12:18:30 [898] app\modules\system\queue\QueueJobThreatMailing (attempt: 1, pid: 116) - Done (0.254 s)
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы