Rumah > Soal Jawab > teks badan
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.yaml
Kandungan:
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粉4821083102024-02-18 10:29:56
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