![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałbym za pomocą sfMailer w Symfony (SwiftMailer) wysyłać maile z kilku różnych skrzynek. Niestety nigdzie nie mogę znaleźć jak to osiągnąć - w factories.yml mogę zdefiniować dane domyślnego konta email, ale nie wiem jak osiągnąć efekt, aby w akcji móc dynamicznie zmieniać skrzynkę (czyli transport). Interesuje mnie zarówno możliwość zdefiniowania kilku skrzynek w factories.yml (ale to chyba nie jest możliwe) jak również dynamiczne ustawianie opcji transportu wewnątrz akcji. Czy wie ktoś może, jak osiągnąć taki efekt bo utknąłem w tym miejscu. Wiem, że ostatecznie mogę skorzystać z gołego SwiftMailera, ale wtedy nie będę miał dostępu do dobrodziejstw korzystania z sfMailera - np. podczas pracy z wersją "dev". |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Nie chciało mi się za bardzo opisywać jak to zrobić, więc naszkicowałem kawałek kodu, wydaje mi się, że zadziała. Konfiguracja poprzez factories.yml lub bezpośrednio przez php, jak wolisz.
Tworzysz nowy transport:
Konfigurujesz: Kod mailer: class: sfMailer param: logging: %SF_LOGGING_ENABLED% charset: %SF_CHARSET% delivery_strategy: realtime transport: class: MultipleTransports param: currentTransportName: first transports: first: class: Swift_SmtpTransport param: host: localhost port: 25 encryption: ~ username: ~ password: ~ second: class: Swift_SmtpTransport param: host: localhost port: 25 encryption: ~ username: ~ password: ~ third: class: Swift_SmtpTransport param: host: localhost port: 25 encryption: ~ username: ~ password: ~ Używasz:
Potrzebna jeszcze obsługa błędów ale nie chciało mi się i może tak wygląda czytelniej. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Bardzo ciekawe rozwiązanie - muszę je wypróbować. Ja tymczasem spróbowałem trochę innego podejścia - tj. zdefiniowałem klasę dziedziczącą po sfMailer i w konstruktorze tworzącą nowy transport z dynamicznymi parametrami - nie jest tak eleganckie jak Twoje rozwiązanie, ale jakoś działa.
Jeszcze raz dzięki, że poświęciłeś tyle czasu na mój problem - spróbuję zaimplementować Twoje rozwiązanie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 12:19 |