Я запускаю несколько юнит-тестов, один из тестов проверяет, что электронные письма генерируются и отправляются.
Я проверил документы, чтобы заставить Yii сохранять электронные письма в файл, а не отправлять. Я настроил компонент mailer
следующим образом:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true
],
При выполнении тестов я вижу сообщение Yii::info
от функции BaseMailer send()
.
[yii \ mail \ BaseMailer :: send] 'Отправка электронного письма с уведомлением о платёжном поручении на адрес test@test.co.uk
Однако электронное письмо нигде не сохраняется, должно быть runtime/mail
, оно также никуда не отправляется.
Я попытался установить useFileTransport
во время выполнения, используя:
$mailer = Yii::$app->mailer;
$mailer->useFileTransport = true;
$mailer->composer...
Но ничего не меняется, любая помощь приветствуется.