使用 Symfony Mailer 发送电子邮件

问题描述 投票:0回答:4

我全新安装了 Symfony 5.4。我已按照文档从我自己的 smtp 服务器发送电子邮件,但无法正常工作。所以,我正在尝试 https://mailtrap.io/ 使用以下配置但没有成功。任何帮助表示赞赏。

遵循的步骤

composer require symfony/mailer

composer require symfonycasts/verify-email-bundle


MAILER_DSN=smtp://d62b667a28d6af:[email protected]:2525 #MAILER_DSN=smtp://d62b667a28d6af:[email protected]:2525?encryption=tls&auth_mode=login 

注册控制器

       ...

        // generate a signed url and email it to the user
        $this->emailVerifier->sendEmailConfirmation('app_verify_email', $user,
            (new TemplatedEmail())
                ->from(new Address('registration@my_host.com', 'Registration Confirmation'))
                ->to($user->getEmail())
                ->subject('Please Confirm your Email')
                ->htmlTemplate('registration/confirmation_email.html.twig')
        );

mailer.yml

框架:
    邮件:
        dsn: '%env(MAILER_DSN)%'
php email mailer symfony5.4
4个回答
3
投票

运行 composer 需要 symfony/messenger 然后 运行 php bin/console messenger:consume async


1
投票

如果您使用 --docker 选项安装 Symfony,那么当您添加 symfony 邮件程序时,您的 docker-compose.override.yml 文件将包含邮件捕获器的配置。

来自 Symfony 官方网站:https://symfony.com/doc/current/the-fast-track/en/3-zero.html

--docker:在你的本地机器上,我们将使用 Docker 来管理像 PostgreSQL 这样的服务。此选项启用 Docker,以便 Symfony 将根据所需的包自动添加 Docker 服务(例如,添加 ORM 时的 PostgreSQL 服务或添加 Symfony Mailer 时的邮件捕捉器)。

在您的 Profiler 栏中,将鼠标悬停在“服务器”上以显示一系列选项,其中一个是 Webmail。如果您的项目中存在上述配置,您的网络邮件将被发送到那里。


0
投票

确保您不在阻止您正在使用的端口的防火墙后面。在这种情况下,端口 2525.


0
投票

运行 composer require symfony/messenger 然后运行 php bin/console messenger:consume async

© www.soinside.com 2019 - 2024. All rights reserved.