Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dlaczego mail trafia do spamu?
Forum PHP.pl > Forum > Przedszkole
darney
Jeżeli zamiast zmiennej $mailer_mail wrzucę 'przyklad@przyklad.pl' <przyklad@przyklad.pl>'
to mail nie jest traktowany jako spam. Jeśli wstawię tam zmienne to na poczcie Gmail potraktowane zostanie to jako spam. Dlaczego ? Gdzie tu jest błąd ?
  1. $to = 'xxxxxx@gmail.com' ;
  2.  
  3. $subject = 'xxx - zgłoszenie';
  4. $msg = "$name: \n" . "$mailer_other" . "<b>$nr_zgloszenia</b>";
  5. $from = "From: $mailer_email <$mailer_email>" . PHP_EOL .
  6. //'Cc: "CC Display Name" <ksenior@ksenior.pl>' . PHP_EOL .
  7. 'X-Mailer: PHP-' . phpversion() . PHP_EOL;
  8. $from .= "Content-type: text/html; charset=utf-8\n";
  9.  
  10.  
  11. mail($to, $subject, $msg, 'From:' . $from);
  12.  
potreb
Hmm, a wyślij z jakiejś prawdziwej domeny.
Hekko
Oraz sprawdź w źródle wiadomości, za co dostała punkty traktujące o spamie.
darney
Znaki w treści wiadomości działają poprawnie jedynie mam problem z TEMATEM wiadomości. W $subject jest brak polskich znaków. Próbowałem już encode utf i nic z tego. Gdzie tkwi błąd ?

  1. $to = 'xxxx@tlen.pl' ;
  2.  
  3. $subject = ' zgłoszenie';
  4.  
  5.  
  6. // 'UTF-8'
  7. // mb_detect_encoding($subject, 'UTF-8', true); // false
  8. $msg = "$name: \n" . "$mailer_other" . "<b>$nr_zgloszenia</b>";
  9. // To send HTML mail, the Content-type header must be set
  10.  
  11.  
  12. // Additional headers
  13.  
  14. $headers .= 'From: koloroskop <x@x.pl>' . "\r\n";
  15.  
  16. $headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
  17.  
  18. $headers .= "Content-type: text/html; charset=utf-8\n";
  19.  
  20. $headers .= "Content-Transfer-Encodin: 8bitr\n";
  21.  
  22.  
  23.  
  24. mail($to, $subject, $msg, $headers);
  25. $tekst = 'Dziękujemy za wysłanie zgłoszenia. Wkrótce odpowiemy na twoje pytanie. Kliknij <a href="index.php">TUTAJ</a> aby wrócić do strony głównej.';
  26.  
  27. echo $tekst;
  28. }
  29. }


Problem rozwiązałem funkcją. Może komuś się przyda
  1. function mail_utf8($to, $subject = '(No subject)', $msg = '', $headers = '') {
  2. $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
  3. mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $msg, $headers_ . $headers);
  4. }


Pozdrawiam

kolejna sprawa do tego tematu. Dodając <img src=\"http://xxxxx.pl/wp-content/themes/xxxxx/img/moje-miasto.jpg\" alt=\"Angry face\" title=\"Angry face\" /> na poczatku $msg google traktuje jako spam tlen już nie. Jak zatem dodawać IMG do listu aby gmail nie traktował tego jako spam.?
suchyMTW
nie przypadkiem wtedy content-type:text/html ? bo mi na text/plain nigdy nie chciało wstawić obrazka... oraz zamiast funkcji mail zainteresuj się SMTP nie będziesz miał tylu problemów z tym spamem - przynajmniej u mnie to kiedyś pomogło
darney
Na pewno rozwarze SMTP w przyszłości. Najpierw chciał bym jednak zrozumieć w pełni działanie php mail();
Sprawę spamu udało mi się rozwiązać przy pomocy googli i manuala.

Ostatnim problemem z jakim się borykam jest wstawianie obrazka do wysłanego maila.
Z wstawieniem nie mam teoretycznie problemu a praktycznie nie wiem czy on nawet występuje smile.gif
Tzn. Google wyświetla w takim mailu Kliknij aby wyświetlić obrazek itp. Czy idzie to ominąć ? Czy tak już po prostu zostanie z względu na bezpieczeństwo gmaila ?

Fragment kodu który odpowiedzialny jest za wysłanie potwierdzenia do usera
  1. $subject2="xxxx.pl - potwierdzenie zamówienia nr. $id_witryny-$nr_zgloszenia";
  2. $msg2= "<div style='text-align: center; color:red;'>$img_src<br>Dziekujemy <br> twój nr zamówienia to <br><b>$id_witryny-$nr_zgloszenia</b>";
  3.  
  4. $headers2 .="From: xxx <xxx@xxx.pl>" . "\r\n";
  5.  
  6.  
  7. $headers2 .= "Content-type: text/html; charset=utf-8\n";
  8.  
  9. $headers2 .= "Content-Transfer-Encodin: 8bitr\n";
  10.  
  11. mail_utf8($to2, $subject2, $msg2, $headers2);


W zmiennej $img_src kryje się
  1. $img_src= "<img src='http://xxx.pl/wp-content/themes/xxx/img/xxx-mail.jpg'></div>";
drozdii07
Kliknij aby wyświetlić obrazek - Raczej nie ominiesz tego. Ja w każdym mailu w którym są zdjęcia mam to pokazane wink.gif
markonix
Obrazki zawsze są zablokowane ze względów bezpieczeństwa.
Lepiej jednak wysyłać je jako załączniki, nie linki do grafik.
darney
Tak myślałem że ciężko będzie to obejść. Co do załączników, czy można wydobyć obrazki w treść listu by ominąć opcje gmaila DISPLAY image? Interesuje mnie ogólnie stworzenie jakby papieru firmowego w mailu gdzie logo firmy będzie dołączane do każdego listu. Jeżeli nie ma takiej możliwości to uważam temat już za zamknięty gdyż to co chciałem udało mi się napisać za pomocą mail(); smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.