首页  >  问答  >  正文

Symfony 6使用SMTP的邮件发送器DSN无法发送邮件

我正在尝试使用不同的 SMTP 服务器使用 Symfony 6 Mailer,但它们都不起作用。

消息已排队但未发送。我尝试从不同的服务器上排除防火墙或端口问题。

没有日志消息或异常,所以我很迷茫。

这是我尝试过的一些 DSN:

MAILER_DSN="smtp://email%40example.com:[email protected]:587?encryption=tls"
MAILER_DSN="smtp://[email protected]:[email protected]:587?encryption=tls"
MAILER_DSN="smtp://[email protected]:[email protected]:587"

我实际上尝试了许多带/不带加密的 DSN 组合。我怀疑问题出在 DSN 字符串中,因为如果我尝试错误的主机或密码,效果是相同的。

这是一个长期存在的问题,我很长时间都无法解决。

这是发送代码:

use Symfony\Component\Mime\Email;

$email = (new Email())
        ->from($this->parameterBag->get('app.message.email_from'))
        ->to($to)
        ->subject($subject)
        ->text($text)
        ->html($text);

$sentMessage = $this->mailer->send($email);

mailer.yaml内容:

framework:
    mailer:
        dsn: '%env(MAILER_DSN)%'

以及messenger.yaml内容:

framework:
    messenger:
        failure_transport: failed

        transports:
            # https://symfony.com/doc/current/messenger.html#transport-configuration
            async:
                dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
                options:
                    use_notify: true
                    check_delayed_interval: 60000
                retry_strategy:
                    max_retries: 3
                    multiplier: 2
            failed: 'doctrine://default?queue_name=failed'
            # sync: 'sync://'

        routing:
            Symfony\Component\Mailer\Messenger\SendEmailMessage: async
            Symfony\Component\Notifier\Message\ChatMessage: async
            Symfony\Component\Notifier\Message\SmsMessage: async

            # Route your messages to the transports
            # 'App\Message\YourMessage': async

P粉957661544P粉957661544268 天前305

全部回复(1)我来回复

  • P粉482108310
  • 取消回复