Ошибок и исключений нет, а журналы не показывают ничего полезного. Похоже, что Symfony либо пропускает, либо не может выполнить код отправки электронной почты в среде разработки.
Я провожу отладку в профилировщике, странно то, что транспорт smtp выглядит так:
smtp://127.0.0.1:49599
Он не может принять конфигурацию DSN
Настройка
Вот соответствующая конфигурация:
.env-файл
APP_ENV=dev APP_DEBUG=1
MAILER_DSN=smtp://имя пользователя:пароль@smtp.mailtrap.io:2525
config/packages/mailer.yaml
Код: Выделить всё
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
Это пример кода, используемого для отправки электронного письма (для функции подтверждения регистрации пароля):
Код: Выделить всё
// generate a signed url and email it to the user
$this->emailVerifier->sendEmailConfirmation('app_verify_email',$user,
(new TemplatedEmail())
->from(new Address('myemail@gmail.com', 'Mail test'))
->to($user->getEmail())
->subject('Please Confirm your Email')
->htmlTemplate('registration/confirmation_email.html.twig')
);
Конфигурация среды: Для среды правильно установлено значение dev (APP_ENV=dev), и включена отладка (APP_DEBUG=1).
Mailer DSN: MAILER_DSN правильно настроен для использования Mailtrap и работает во время тестов.
Журналы: я проверил файл dev.log в var/log, но ошибок или предупреждений, связанных с почтовой программой, нет.
Кэш: Я очищал кеш несколько раз:
Вопрос
Что могло заставить электронную почту работать во время тестов но не в среде разработки? Есть ли особые различия в том, как Symfony обрабатывает почтовую службу между средами тестирования и разработки? Как я могу отладить или решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/793 ... nvironment