• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Symfony email się nie wysyła

Object Storage Arubacloud
+1 głos
379 wizyt
pytanie zadane 7 stycznia 2023 w PHP przez Filipczak Gaduła (4,020 p.)
zamknięte 7 stycznia 2023 przez Filipczak

Cześć, mam problem, ponieważ emaile się nie wysyłają

Jednak po uruchomieniu komendy

php bin/console messenger:consume async -vv

wiadomości zaczynają się wysyłać, czy jest możliwość, aby wiadomości wysyłały się automatycznie bez uruchamiania tej komendy?

komentarz zamknięcia: otrzymałem odpowiedź

1 odpowiedź

+3 głosów
odpowiedź 7 stycznia 2023 przez Wiciorny Ekspert (270,190 p.)
wybrane 7 stycznia 2023 przez Filipczak
 
Najlepsza

Możliwe jest wysyłanie wiadomości e-mail bez konieczności ręcznego uruchamiania komendy messenger:consume. Musisz skonfigurować odpowiedni proces do obsługi kolejki wiadomości.
Zrobisz to za pomocą narzędzia do zarządzania procesami, takiego jak Supervisor, które będzie uruchamiać komendę messenger:consume w tle i monitorować jej stan.

Możesz również użyć innych narzędzi do obsługi kolejki wiadomości, takich jak RabbitMQ, Redis lub inne, w zależności od potrzeb i preferencji. w dokumentacji symphony masz wszystkie informacje do obsługi kolejek tego typu.Pamiętaj, że aby wysyłać wiadomości e-mail, należy najpierw skonfigurować usługę transportu w pliku konfiguracyjnym, ale z tego co widzę to już to masz zrobione skoro-komenda działa. 

W skrócie : by wysłać wiadomość e-mail za pomocą kodu, wykorzystaj  zasoby klasy Symfony\Component\Mailer\MailerInterface z biblioteki Symfony Mailer. Tylko najpierw musisz utworzyć obiekt Symfony\Component\Mime\Email, który będzie zawierał wiadomość e-mail.

 

Następnie możesz wysłać wiadomość za pomocą metody send() interfejsu MailerInterface.

Przykładowy kod wysyłający wiadomość e-mail może wyglądać następująco:
 

use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;

class EmailSender
{
    private $mailer;

    public function __construct(MailerInterface $mailer)
    {
        $this->mailer = $mailer;
    }

    public function sendEmail($subject, $to, $body)
    {
        $email = (new Email())
            ->from('noreply@example.com')
            ->to($to)
            ->subject($subject)
            ->text($body);

        $this->mailer->send($email);
    }
}

I na koniec musisz wcześniej skonfigurować usługę transportu w pliku konfiguracyjnym. W przeciwnym razie otrzymasz błąd podczas próby wysłania wiadomości.

Podobne pytania

0 głosów
1 odpowiedź 524 wizyt
0 głosów
0 odpowiedzi 109 wizyt
pytanie zadane 1 marca 2018 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 109 wizyt
pytanie zadane 28 marca 2019 w PHP przez eyeys Początkujący (260 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...