Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Biblioteka sledzenia maila
rad11
post 12.03.2015, 11:08:07
Post #1





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czy istnieje jakas biblioteka lub sposob aby sledzic status maila ? czy zostal otwarty/usuwaniety/spam?
Go to the top of the page
+Quote Post
Pyton_000
post 12.03.2015, 11:20:31
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


nie, możesz tylko wiedzieć czy został dostarczony i ew. potwierdzenie przeczytania które może wysłać odbierający.
Go to the top of the page
+Quote Post
rad11
post 12.03.2015, 12:57:22
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Znalazlem niby taka opcje aby wyslac w naglowku maila:

http://help.mandrill.com/entries/21688056-...-click-tracking

  1. 'X-MC-Track', 'opens, clicks_htmlonly'


ale niby naglowek sie laduje ale nic sie nie dzieje moze ktos z was kiedys czarowal z takim czyms?
Go to the top of the page
+Quote Post
ikssde
post 12.03.2015, 15:01:18
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

Ostrzeżenie: (0%)
-----


Teoretycznie możesz sprawdzić czy wiadomość została otwarta przez wrzucenie w jej treści obrazka, którego odnośnik kieruje do skryptu i zawiera jakiś identyfikator tego maila. Następnie ten skrypt zapisuje sobie fakt otwarcia go w bazie danych i dodatkowo generuje obrazek 1px na 1px, tak, żeby to było niewidoczne.

Minus jest taki, że jak ktoś ma zablokowane wyświetlanie obrazków w mailu to ta metoda nie zadziała.

Innych metod nie ma.
Go to the top of the page
+Quote Post
markuz
post 12.03.2015, 15:19:44
Post #5





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Czytałem kiedyś o metodzie wstawiania pliku dźwiękowego - wtedy niektóre poczty które blokują obrazki mogą wczytać ten plik dźwiękowy - którego nie słychać głównie chodzi o wykonanie request`u na twój serwer.


--------------------
Go to the top of the page
+Quote Post
rad11
post 13.03.2015, 14:04:21
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dzieki za podpowiedzi napewno przetestuje je.

Cytat
i dodatkowo generuje obrazek 1px na 1px


a po co juz po zapisie tworzyc ten obrazek?

Udalo mi sie zrobic akcje z tym obrazkiem tylko request jest dwa razy robiony pierwszy raz kiedy wysylam maila drugi raz kiedy osoba odczyta wiadomosc. Czyli 2 razy robi sie zapis do BD , czy da rade jakos ograniczyc to do 1 razu tylko wtedy kiedy uzytkownik odczyta wiadomosc?

Dodam ze probowalem porownac host z requestu ale tak nie dziala.

Moglbym tak robic ze kiedy przy wykonywaniu requestu beda dwa rekordy w bazie o takim samym kluczu to jeden rekord usuwac. Lub robic tak ze zapisywac dwa requesty w bazie co bedzie oznaczac odczytanie wiadomosci. Ale wolal bym to jakos zoptymalizowac jako zapisc kiedy tylko uzytkownik odczyta wiadomosc.

Jakies inne pomysly macie moze?

Ten post edytował rad11 13.03.2015, 14:12:18
Go to the top of the page
+Quote Post
markuz
post 13.03.2015, 14:12:43
Post #7





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Na jakiej zasadzie to robisz? Może podzielisz się kodem?

Ja bym zrobił to tak:
1. Zapisuje w bazie id wiadomości oraz flagę odczytana na 0
2. Wysyłam email który ma w treści: <img src="twojastrona.pl/costam.php?id={id_wiadomosci}"/>
2. Przechwytuje request z costam.php i w bazie dla id = $_GET['id'] ustawiam flage odczytana na 1

Chcesz powiedzieć, że w punkcie 2 wysyła ci request do costam.php?


--------------------
Go to the top of the page
+Quote Post
rad11
post 13.03.2015, 14:14:16
Post #8





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dokladnie tak.

wysylka maila:

  1. $mail = new \PHPMailer;
  2. $mail->SMTPDebug = 2;
  3. $mail->isSMTP();
  4. $mail->Host = 'xxxx';
  5. $mail->SMTPAuth = true;
  6. $mail->Username = 'xxxx;
  7. $mail->Password = 'xxxx';
  8. $mail->SMTPSecure = 'tls';
  9. $mail->Port = 587;
  10. $mail->From = 'xxxx';
  11. $mail->FromName = 'Mailer';
  12. $mail->Subject = $mailing_title;
  13. $mail->addAddress(xxxx);
  14. $mail->isHTML(true);
  15. $mail->Subject = $title;
  16. $mail->Body = MailingActions::buildMailingTemplate($_POST['mailing']['template_mailing_id'], $mailing_content, $mailing_title, $mailing_template);
  17.  
  18. if (!$mail->send()){
  19. echo 'Message could not be sent.';
  20. echo 'Mailer Error: ' . $mail->ErrorInfo;
  21. } else {
  22. echo 'Message has been sent';
  23. }


zdjecie:

  1. <img src="'.$_SERVER['HTTP_ORIGIN'].'/static_local/script.php?uniqid='.$uniqid.'" style="display:none;" />


script.php

  1. if ($_GET['uniqid']) {
  2. $array = Model::factory('Mailings')->create();
  3. $array->title = 'xxx';
  4. $array->save();
  5. }


Ten post edytował rad11 13.03.2015, 14:17:58
Go to the top of the page
+Quote Post
markuz
post 13.03.2015, 14:17:54
Post #9





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


A wyświetlasz gdzieś tą wiadomość? W jaki sposób ją wysyłasz? Normalna funkcja mail() nie powinna wczytywać treści takiego email tylko go wysłać. Pokaż kod.


--------------------
Go to the top of the page
+Quote Post
rad11
post 15.03.2015, 17:43:36
Post #10





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Probowalem wyslac audio ale wogole nie laduje tagu audio do wiadomosci co moze byc przyczyna ?
Go to the top of the page
+Quote Post
Raito
post 15.03.2015, 17:51:40
Post #11





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

Ostrzeżenie: (0%)
-----


W 6 linii masz niedomknięty apostrof.
Go to the top of the page
+Quote Post
rad11
post 15.03.2015, 19:06:15
Post #12





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


To akurat jest blad przy kopiowaniu.
Go to the top of the page
+Quote Post
trueblue
post 15.03.2015, 19:09:28
Post #13





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(rad11 @ 15.03.2015, 17:43:36 ) *
Probowalem wyslac audio ale wogole nie laduje tagu audio do wiadomosci co moze byc przyczyna ?

Klient pocztowy może modyfikować źródło html.


--------------------
Go to the top of the page
+Quote Post
rad11
post 15.03.2015, 19:17:41
Post #14





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Eh to dupa ... a da sie przed tym obronic w jakis sposob ?
Go to the top of the page
+Quote Post
trueblue
post 15.03.2015, 19:21:40
Post #15





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Nie da się.
Najpewniejszą metodą zliczania otwarć jest użycie <img>. Oczywiście najpewniejszą pod względem nieusunięcia tagu z kodu, bo wyświetlenie/zliczenie, zależy od tego czy użytkownik pobierze obrazki.


--------------------
Go to the top of the page
+Quote Post
rad11
post 16.03.2015, 12:06:26
Post #16





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No wlasnie wiem wiekszosc klientow pocztowych ma wylaczone pokazywanie obrazkow i mozna wlaczyc jedynie poprzez pozwolenie pokazywania obrazkow.

Jak juz jestem w temacie jak sprawdzic czy email zostal dostarczony ? Poniewaz ponizszy kod pomimo wpisania takiego emaila fdafadsf25r34faeswfr2rtqewrgf34@o2.pl zwraca true i nie mam jak przechwycic zwrotu do nadawcy ?

  1. if (!$mail->send()) {
  2. var_dump($mailing);
  3. $this->updateMailingRecipientToNSend($mailing);
  4. echo 'Message could not be sent.';
  5. echo 'Mailer Error: ' . $mail->ErrorInfo;
  6. } else {
  7. $mailing = $this->InsertMailingRecipient($insert_mailing, $_SESSION['permanent_variables']['userId'], $key);
  8. echo 'Message has been sent';
  9. }
Go to the top of the page
+Quote Post
johny_s
post 16.03.2015, 12:10:54
Post #17





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

Ostrzeżenie: (0%)
-----


Na adres z którego wysłałeś powinieneś dostać info, że delikwent nie istnieje, ale to zależy od konfiguracji serwera
Go to the top of the page
+Quote Post
rad11
post 16.03.2015, 12:12:07
Post #18





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No wlasnie dostaje emaila, ale chce to dostac juz po uruchomieniu $mail->send(); da rade? potrzebuje to oznaczyc w bazie.

Ten post edytował rad11 16.03.2015, 12:12:31
Go to the top of the page
+Quote Post
johny_s
post 16.03.2015, 12:15:14
Post #19





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

Ostrzeżenie: (0%)
-----


nie, bo mail jest wysłany prawidłowo, jedynie dorobić jakiś mechanizm który pobierze sobie maile i posprawdza na taką ewentualność
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 08:49