• 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

VPS Starter Arubacloud
+1 głos
331 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 (269,120 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ź 459 wizyt
0 głosów
0 odpowiedzi 106 wizyt
pytanie zadane 1 marca 2018 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 107 wizyt
pytanie zadane 28 marca 2019 w PHP przez eyeys Początkujący (260 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...