Symfony 6 penghantar mel DSN menggunakan SMTP tidak boleh menghantar mel
P粉957661544
P粉957661544 2024-02-17 11:47:47
0
1
314

Saya cuba menggunakan Symfony 6 Mailer dengan pelayan SMTP yang berbeza, tetapi tiada satu pun yang berfungsi.

Mesej beratur tetapi tidak dihantar. Saya telah mencuba menyelesaikan masalah firewall atau port daripada pelayan yang berbeza.

Tiada mesej log atau pengecualian, jadi saya keliru.

Berikut adalah beberapa DSN yang saya telah cuba:

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"

Saya sebenarnya telah mencuba banyak kombinasi DSN dengan/tanpa penyulitan. Saya mengesyaki masalahnya adalah dalam rentetan DSN kerana jika saya mencuba hos atau kata laluan yang salah kesannya adalah sama.

Ini adalah masalah lama yang tidak dapat saya selesaikan untuk masa yang lama.

Ini adalah kod penghantaran:

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.yamlKandungan:

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

dan messenger.yaml kandungan:

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粉957661544
P粉957661544

membalas semua(1)
P粉482108310

Bergantung pada konfigurasi messenger semasa anda, e-mel tidak akan dihantar terus, tetapi hanya apabila messenger:consume dipanggil.

Ini kerana Messenger sedang mengantri e-mel (atau mesej lain seperti mesej teks) dan bukannya menghantarnya serta-merta.

Anda boleh mengetahui lebih lanjut tentang komponen mesej di sini a>, tetapi jika anda mahu mengabaikannya buat masa ini, hantar sahaja e-mel secara serentak dengan mengubah suai konfigurasi pengangkutan.

framework:
    messenger:
        transports:
            async: '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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan