【问题标题】:Sending Emails with Symfony Mailer使用 Symfony Mailer 发送电子邮件
【发布时间】:2022-11-03 02:26:11
【问题描述】:

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

遵循的步骤

composer require symfony/mailer
composer require symfonycasts/verify-email-bundle

MAILER_DSN=smtp://d62b667a28d6af:023c577a51bb51@smtp.mailtrap.io:2525 #MAILER_DSN=smtp://d62b667a28d6af:023c577a51bb51@smtp.mailtrap.io: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')
        );

邮件程序.yml

框架:
    邮寄者:
        dsn: '%env(MAILER_DSN)%'

【问题讨论】:

    标签: php email mailer symfony5.4


    【解决方案1】:

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

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果您使用 --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。如果您的项目中存在上述配置,您的网络邮件将在那里发送。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-29
        • 2011-01-30
        相关资源
        最近更新 更多