使用Symfony Mailer发送电子邮件



我刚安装了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

RegistrationController

...
// 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) %"

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

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

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

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

在分析器栏中,将鼠标悬停在"服务器"上。显示一系列选项,其中之一是Webmail。如果您的项目中存在上述配置,您的webmail将被发送到那里。

确保您没有在阻止您正在使用的端口的防火墙后面。在本例中,端口为2525。

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

最新更新