Skocz do zawartości


 

Zdjęcie

Dużo maili... Uff... dużo różnych wiadomości (szablonów) jak to ogarnąć?

Dużo maili... Uff... dużo różnych wiadomości (szablonów) jak to ogarnąć?

  • Proszę się zalogować aby odpowiedzieć
2 odpowiedzi na ten temat

Dużo maili... Uff... dużo różnych wiadomości (szablonów) jak to ogarnąć?

#1 Rysiu512

Rysiu512

    Czasami na forum

  • Użytkownicy
  • 42 postów
  • Imię:Lukasz

Napisany 30 sierpień 2017 - 19:23

Mam problem. Piszę w PHP kawałek systemu.

Problem w tym, że wysyła on w wielu miejscach różne maile.

 

Aktualnie to ogarniam. Ale co jeżeli będę miał 100 różnych wiadomości z opcją wysyłki?

 

Robiłem to tak, że treść wiadomości wklejałem bezpośrednio do kodu PHP i tam ewentualnie jego edytowałem (dodawałem do HTML zmienne itp.).

 

Rozwiązanie jednak mało eleganckie i krytycznie mało funkcjonalne.

 

Szukam solucji jak można to zrobić dobrze.

 

Wpadłem na coś następującego.

 

Mamy zbiór plików .txt z "szablonami" emaili. Przykładowo treść weryfikacja_konta.txt:

Witaj [IMIE], Odnotowaliśmy dnia [DATA_PROŚBY] prośbę o weryfikację konta. Proszę kliknij w link:http://mojastronka.pl/weryfikacja.php?hash=[HASH]

Procedura wygląda następująco, że wczytuję w PHP treść tego pliczku txt.

Następnie podmieniam wszystkie zmienne [XXX] na odpowiednie stringi.

 

Dzięki temu mam pewne pole manewru i mogę w ciągu chwili wejść i podmienić treść w txt i cieszyć się nową treścią bez dłubania w PHP (nie wiadomo ilu miejscach).

 

Można to zrobić jakoś jeszcze lepiej?

Pewnie można... Proszę o sugestie :)


Edytowany przez Rysiu512, 30 sierpień 2017 - 19:23.

  • 0

#2 systemy.internetowe

systemy.internetowe

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 140 postów
  • Firma:HTTP 200 usługi IT - Dariusz Janicki
  • Imię:Dariusz
  • Nazwisko:Janicki

Napisany 30 sierpień 2017 - 20:14

@Aktualnie to ogarniam. Ale co jeżeli będę miał 100 różnych wiadomości z opcją wysyłki?

Tworzysz layout bazowy i w treści podstawiasz przygotowane do typu wysyłki szablony, które możesz mieć w pliku lub w bazie.

 

W kodzie szablony dajsze wstawki np {IMIE} {NAZWOSKO} i podmieniasz ze zmienne po przez funkcje PHP
http://php.net/manua...str-replace.php

Lub opierasz na szablonach: Twig, blade na biede smarty lub najlepiej w czystym PHP

 

 

 


Samo wysyłani e-maili zaimplementował bym jako osobną usługę opartą o kolejkę w bazie danych lub Redis'ie ekstremalnie w RabbicieMQ.


  • 0

#3 Rysiu512

Rysiu512

    Czasami na forum

  • Użytkownicy
  • 42 postów
  • Imię:Lukasz

Napisany 03 wrzesień 2017 - 16:22

Dzięki! :)


Tak się właśnie zastanawiałem wcześniej dlaczego wspomniałeś o kolejce....

Aktualnie wysyłam maile "bieżąco" w danych skryptach.

 

Przed chwilą jednak padł mi serwer pocztowy i chyba zrozumiałem.

W przypadku gdy jest kolejka to dane maile prędzej czy później dojdą do odbiorcy (najwyżej jak wystąpi problem z wysyłką to kolejka się zatrzyma ale przecież po naprawieniu błędu ruszy...)

 

Jeżeli wysyłam tak jak robię to teraz to co najwyżej mogę wyświetlić info o błędzie :angry: - nie mam jednak kolejki więc nie ma możliwości załadowania wiadomości i jej późniejszego wysłania.

 

Mam rację? Są jeszcze jakieś ku kolejce przesłanki?


  • 0





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników