Symfony конфигурация документации swiftmailer не работает - PullRequest
0 голосов
/ 23 января 2020

Я начинаю с symfony (я использую последнюю версию, т. Е. 5) Я протестировал конфигурацию, показанную в документации, для отправки почты с помощью swiftmailer

Вот конфигурация в .env

MAILER_URL = smtp: //fox.o2switch.net: 587? encryption=tls&auth_mode=login&username=symfony@mydomain.fr&password=mypassword

и вот тестовый контроллер, который я использую

class MailerController extends AbstractController {
/**
 * @Route("/mailer",name="mailer")
 */
public function sendEmail( \Swift_Mailer $mailer)
{

    $email = (new \Swift_Message('Message de test configuration 1'))
                ->setFrom(array('symfony@denentzat.fr'=> 'Configuration 1'))
                ->setTo('me.me@domain.org')
                ->setCharset('utf-8')
                ->setBody(
               'Hello from symfony!'
            );

    $sentEmail = $mailer->send($email);

    // ...

    return $this->redirectToRoute('home');
}

При такой конфигурации не работает . Таким образом, я попробовал этот новый контроллер

public function sendEmail( )
{

$transport = (new \Swift_SmtpTransport('fox.o2switch.net', 587))
  ->setUsername('symfony@mydomain.fr') 
  ->setPassword('mypassword') 
;
$mailer = new \Swift_Mailer($transport);

$email = (new \Swift_Message('Message de test configuration 2'))
            ->setFrom(array('symfony@denentzat.fr'=> 'Configuration 2'))
            ->setTo('me.me@domain.org')
            ->setCharset('utf-8')
            ->setBody(
           'Hello from symfony!'
        );


$sentEmail = $mailer->send($email);

// ...

return $this->redirectToRoute('home');

} ​​

С этой конфигурацией я получаю письма!

Мой вопрос: что я пропускаю документацию symfony для конфигурации 1?

1 Ответ

1 голос
/ 23 января 2020

Проблема возникла из-за пароля, требующего обработки urlencode из-за использования специального символа +. Исходный пароль + .... заменен на% 2B ....

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