Swift Mailer на Symfony 3.4, конфигурация - PullRequest
0 голосов
/ 28 декабря 2018

Это то, что я вижу с php bin/console debug:config swiftmailer:

enter image description here

Я могу отправлять электронные письма с php bin/console swiftmailer:email:send они отправляются нормально:

enter image description here

Вот адрес электронной почты в моем аккаунте:

enter image description here

Но я могуне делай этого с моим контроллером на Symfony.Я протестировал много примеров, ни один не работает.Я тестировал среду разработки и разработки (здесь, в основном, здесь, где это мне нужно, конечно).Это пример моего кода:

public function sendEmail(Request $request ) {

    $message = \Swift_Message::newInstance()
    ->setSubject('Some Subject')
    ->setFrom('example@gmail.com')
    ->setTo('myemail@gmail.com')
    ->setBody('asdas');

    $this->get('mailer')->send($message);

    dump($message);
    die();

Я вижу полное сообщение в выводе, но письмо не отправляется.

Я также проверил этот способ:

$message = (new \Swift_Message('Wonderful Subject'))
          ->setFrom(['john@doe.com' => 'John Doe'])
          ->setTo(['myemail@gmail.com' => 'A name'])
          ->setBody('Here is the message itself');

$this->get('mailer')->send($message);

То же самое, ничего не происходит.Что может быть не так?

1 Ответ

0 голосов
/ 28 декабря 2018

Вы используете опцию спулинга, которая задерживает отправку писем.Отключите катушку или удалите матрицу ().

https://symfony.com/doc/current/email/spool.html

Когда вы используете катушку Swiftmail, она сохраняет электронное письмо для отправки во время события завершения (https://symfony.com/doc/current/components/http_kernel.html#the-kernel-terminate-event), котороев вашем случае это не происходит, так как вы убиваете скрипт с помощью die(); в последней строке.

kernel.terminate в Symfony Framework

Если вы используете спулинг памятиопция почтовой программы Symfony по умолчанию, тогда активируется EmailSenderListener, который фактически доставляет все электронные письма, которые вы запланировали отправить во время запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...