Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja mail i spam
Forum PHP.pl > Forum > Przedszkole
Paladyn
Witam,

Czy jest jakiś sposób, aby obejść filtry spamu podczas wysyłania formularza rejestracyjnego przez funkcję mail()?
Niestety na moim serwerze nie mogę uruchomić SPF.
Słyszałem o klasie phpmailer. Czy korzystając z tej klasy ominięcie filtrów jest łatwiejsze?
melkor1984
Używam phpmailer i wiadomości dochodzą bez problemu...

Sprawdź czy masz odpowiednio poustawiane nagłówki!
Paladyn
Tylko co to znaczy odpowiednio? Czytałem już wiele wersji "odpowiedniego" ustawiania nagłówków i żadna nie pomogła w 100% (Maile nie dochodzą ani do onetu ani wp - filtr wyrzuca je automatycznie, gmail wrzuca do folderu ze spamem. Tak miałem w najlepszym przypadku).
melkor1984
Najlepiej wklej tutaj nagłówki wiadomości, która doszła na Gmail... może coś pomogę smile.gif
Paladyn
Oto nagłówki:

Return-path: <adm4503@m5004.giga-dns.com>
Received: from adm4503 by m5004.giga-dns.com with local (Exim 4.69)
(envelope-from <adm4503@m5004.giga-dns.com>)
id 1NtjhB-0004BQ-IL
for radzikh@poczta.onet.pl; Mon, 22 Mar 2010 16:37:37 +0100
To: ****@poczta.onet.pl
Subject: Registration on www.demots.co.uk
X-PHP-Script: www.demots.co.uk/web/index.php for 83.26.204.40
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
Reply-To: Demots.co.uk <contact@adm4503>
From: Demots.co.uk <contact@adm4503.giga-dns.com>
Organization: Demots.co.uk
Message-Id: <E1NtjhB-0004BQ-IL@m5004.giga-dns.com>
Date: Mon, 22 Mar 2010 16:37:37 +0100
melkor1984
Najprawdopodobniej to:

Kod
Reply-To: Demots.co.uk <contact@adm4503>
From: Demots.co.uk <contact@adm4503.giga-dns.com>


zalicza Cię do SPAMu...

w phpMailer można to bez problemu z ręki ustawić... (nie mam teraz dostępu do mojego kompa więc mogę pomóc bardziej w dniu jutrzejszym)
Karioka
Ustaw nadawcę emaila jako email z domeny www.demots.co.uk Ważne, aby domena emaila była podpięta pod serwer, z którego idzie email. Np. Tlen sprawdza IPki i jeśli się nie pokryją email wogóle nie dotrze. Dlatego ważny jest odpowiedni nadawca emaila.
menTis
A jak ktoś ma zmienne IP?
Fifi209
Cytat(menTis @ 22.03.2010, 19:15:09 ) *
A jak ktoś ma zmienne IP?


Jak na serwerze masz zmienne IP?
Paladyn
Zmieniłem nadawcę na:
("contact@demots.co.uk", "Email from demots.co.uk")
ale niestety nie pomogło...

Spróbowałem skorzystać z klasy phpmailer, ale też nie pomogło. Może jeszcze nie wgryzłem się w konfiguracje za bardzo.
melkor1984
Hmm... coś za dużo kombinacji z tym... zastanawiam się czy po prostu ten serwer nie jest uznany jako rozsyłający spam i najzwyczajniej wszystkie maile niezależnie od ustawień nie są uznawane za SPAM??

W phpMailer ustawiam tylko adresata, nadawcę, adres zwrotny, temat, treść i gotowe...
Paladyn
Serwer sprawdziłem i nie ma go na czarnej liście spamerów.
A te rzeczy, o których pisałeś już ustawiałem i niestety nie pomogło.
flip
Przepraszam za offtop, ale zaciekawiło mnie jak sprawdzacie, czy serwer jest na liście spamerów? Wiem, że są wyszukiwarki takie jak ta np. ale domyślam się, że takich list spamerów jest więcej, więc kiedy można być pewnym, że sprawdziło się wszystkie opcje/listy jest jakiś spis powszechny?
Paladyn
Szczerze mówiąc, to nie mam pojęcia czy istnieje miejsce, w którym znajduje się spis wszystkich możliwych czarnych list. Znalazłem stronę, na której sprawdza 147 list i uznałem, że to wystarczy.
Karioka
Może po prostu wklej tutaj cały kod skryptu i zobaczymy co jest nie tak. Możesz też podesłać mi na email, przetestuję u siebie na serwerze. Już trochę użerałem się z blokadami i autoryzacją emaili. Najgorzej było z WP i Tlen.pl
Paladyn
Jak się okazało na wp po kilku godzinach mail doszedł, ale onet nie rusza.
Oto skrypt (po dzisiejszych zmianach i przejściu na klasę phpmailer):

Kod
require_once('../klasy/class.phpmailer.php');
$mail = new PHPMailer();
$mail->AddReplyTo("contact@demots.co.uk","Demots.co.uk");
$mail->SetFrom("contact@demots.co.uk", "Email from demots.co.uk");
$mail->AddReplyTo("contact@demots.co.uk","Demots.co.uk");                                
$mail->AddAddress($email);
$mail->Subject = "Registration mail";
$mail->MsgHTML($message);
$mail->IsHTML(true);
if(!$mail->Send()) {
$smarty->assign('blad',$mail->ErrorInfo);
} else {}


Z kodu wyrzuciłem treść wiadomości itp.
Karioka
Nie znam tej klasy. W formularzach korzystam z mail() i nie mam problemu.

Cytat
Reply-To: Demots.co.uk <contact@adm4503>


Tutaj coś jest nie tak. Brak adresu zwrotnego.
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.