ron777
16.06.2012, 16:10:30
Cześć,
Mam stronę ogłoszeniową, na której kontakt użytkownika z ogłoszeniodawcą odbywa się poprzez taki formularz, że zainteresowany ogłoszeniem podaje w formularzu treść pytania i hasło, a moja strona wysyła funkcją mail() maila do ogłoszeniodawcy podając jako sender adres wysyłającego. Hasła oczywiście nie podaję smile.gif
I tak to sobie działa od paru lat, aż tu nagle zauważyłem, że maile wysłane w ten sposób do adresów na gmailu lądują w 100% w folderze spamowym.
Próbowałem już chyba wszystkich ustawień funkcji mail (wysyłane przez sendmail) oraz biblioteki PHPmailer, efekt bez zmian.
Może wie ktoś jak sobie z tym poradzić?
Tajgeer
16.06.2012, 16:13:19
Zamiast ustawiać adres użytkownika w polu 'From', ustaw go w 'Reply-To', natomiast jako adres nadawcy ustaw jakis mail noreply (np. noreply@serwis.pl). Efekt będzie ten sam.
ron777
16.06.2012, 16:22:50
Dziękuję za odpowiedź.
Niby tak, ale część klientów poczty niepoprawnie obsługuje takie coś i przy odpowiedzi na taki mail i tak odpowiada na noreply. Rzadko takie coś się zdarza, ale się zdarza.
Wolałbym jednak aby maile były słane bez pośrednictwa mojego maila, tak jak odbywa się to np. na Allegro jak się wysyła zapytanie do użytkownika poprzez formularz. Więc jakoś musi się dać tak zrobić skoro u nich to działa
Tajgeer
16.06.2012, 16:25:10
Jakie nagłówki przesyłasz do funkcji mail() ?
ron777
16.06.2012, 16:44:34
W taki sposób:
$sender = 'adres@strona.pl';
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/plain; charset=iso-8859-2' . "\n";
$headers .= 'From: '.addslashes($sender). "\n";
$temat = 'Temat wiadomości';
$temat="=?ISO-8859-2?B?" . base64_encode ($temat) . "?=";
mail('mail@gmail.com', $temat, str_replace("\r", "", $tresc), $headers);
d3ut3r
16.06.2012, 17:16:52
Część serwerów nie pozwala na wysłanie maila gdy zawartość nagłówka from wykracza poza domenę. Mówiąc inaczej z serwera smtp.test.com nie wyślesz maila jako admin@xyz.com gdyż domena xyz.com zostanie odrzucona jako obca. W google pod hasłem "ehlo test" znajdziesz info o tym jak ręcznie (z pomocą telnet) to sprawdzić.
ron777
16.06.2012, 17:47:57
No tak, ale na każdy serwer oprócz gmail maile zawsze dochodzą...
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.