Gmail traktuje maile jako spam

Witam

Mam sobie aplikacje w Ralisach 2.3 i następujący problem.

Aplikacja wysyła w pewnych przypadkach wiadomości email.
Jeśli ustawiam content_type “text/html” a mail jest wysyłany na gmaila - trafia za każdym razem do spamu.

A nie wysyłasz informacji typu viagra i enlarge your penis? :wink: Ok, to był żarcik. Ale możliwe, że masz jakąś treść, która łapie się w spam filtry, dużo grafiki (?). Jeśli ta sama wiadomość wysłana jako text/plain nie wpada do spamu to najlepiej się skontaktować z Gmail i dopytać o co chodzi. A jeśli masz ochotę i czas możesz założyć darmowe konto na getresponse.pl tam jest narzędzie do testowania jak bardzo Twoja wiadomość jest spamowata.

użycie text/html często dodaje punkty w filtrach, widocznie w Twoim emailu jest ich na tyle dużo, że jest oznaczany jako spam.
Najprostsze rozwiązania:

  1. zmienić content type na text/plain
  2. użyć zewnętrznego serwera SMTP (m.in. posiadającego revDNS)
  3. poprawić treść/nagłówki

Treść to nic innego jest podsumowanie zamówienia, parę zdań + link do miniaturki produktu. Jeśli jest ustawione na text/plain to wszystko działa prawidłowo. Niestety zamówienie ma dużo parametrów i musiałem to poukładać w tabeli stąd ten html.

sprawdź swój email jeszcze tutaj:
http://isnotspam.com/

Moze wrzuć tutaj przykładowy email z naglowkami, mozesz to podgladnac w gmailu w menu more/show original.
Wydaje mi się ze Railsy domyslnie wrzucaja i html i tekst w jeden email, gdyby się trafil jakis co html nie łyka

Dostałem takie komunikaty z linka powyżej

*  0.0 HTML_MESSAGE BODY: HTML included in message
*  0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
*  2.5 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words
* -0.9 AWL AWL: From: address is in the auto white-list

średnio orientuje się w temacie ale HTML_IMAGE_ONLY_16 to chyba znaczy że obrazek jest o takiej wadze, za to dowaliłem 2.5 p.
Możliwe że jest źle osadzony ?

Mail nie potrzebuje obrazka, mail potrzebuje treści. Zrezygnuj z obrazków na rzecz typografii. I przy okazji wywal ten link spam ze stopki.

Ten obrazek to miniaturka zamawianej fototapety, nie na rekę mi z niego rezygnować. Poza tym kolejne maile z statusem zamówenia(bez fotki) też lądują w spamie. Co do linku w stopce to jakoś strasznie nie spamuje a za pare tygodni można będzie cos kupic :slight_smile:

[quote=zawia5]Witam

Mam sobie aplikacje w Ralisach 2.3 i następujący problem.

Aplikacja wysyła w pewnych przypadkach wiadomości email.
Jeśli ustawiam content_type “text/html” a mail jest wysyłany na gmaila - trafia za każdym razem do spamu.[/quote]
Wysyłasz e-maile przez lokalny sendmail/postfix, czy smtp? Jeśli to pierwsze, to zmień na smtp na jakiś sensownym serwerze. GMail lubi klasyfikować emaile z sendmaila jako spam.

wysyłam prze SMTP z serwera megiteam.pl

Wklej nagłówki z maila po odebraniu go przez gmail.com. Najczęstsze błędy to:

  1. Brak rekordu SPF w strefie dns dla Twojej domeny
  2. Złe nagłówki: nagłówek "From: " jest inny niż "MAIL FROM: " podczas połączenia

[quote=zawia5]Dostałem takie komunikaty z linka powyżej

*  0.0 HTML_MESSAGE BODY: HTML included in message
*  0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
*  2.5 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words
* -0.9 AWL AWL: From: address is in the auto white-list

średnio orientuje się w temacie ale HTML_IMAGE_ONLY_16 to chyba znaczy że obrazek jest o takiej wadze, za to dowaliłem 2.5 p.
Możliwe że jest źle osadzony ?[/quote]
ta miniaturka wydaje się być duża, jaki rozmiar pliku?
wklej nagłówki, masz je na końcu maila z raportem.
spróbuj wysłać email HTML bez obrazka.
zalecane jest dodanie wersji tekstowej emaila, np. zdanie “jeżeli nie możesz odczytać tego emaila przejdź na stronę xxx”.

Czy na stronie działał magik od seo ?

<meta name="author" content="Author Name" />

to się zmieni ?

Kto chce to znajdzie forum, trudno nie jest ;]

@rui parę dni temu walczyłem z tym samym.

rozwiązania są proste i dwa:
a) Dostarczaj treść zarówno w formie html jak i tekstowej. W ActionMailerze to banalnie się robi po prostu tworzysz dwa pliki podsumowanie.html.erb i podsumowanie.text.erb (uwaga! text nie txt). Przy czym bardzo wazne treść pliku .text musi być jak najbardziej podobna do pliku html (ja uzyłem po prostu Nokogiri(plik_html).inner_text żeby dostac tekst bez tagów.
b) HTML_IMAGE_ONLY_16 BODY - http://spamassassin.apache.org/tests_3_3_x.html - tutal masz dokładny opis. Jak z tym walczyć?
Dodaj do stopki emaila jak najwięcej informacji. Np. Motto firmy. Zapewnienia o chęci najwyższej jakości obsługi, nawet politykę prywatności. Jak przekroczysz 3000 znaków, rating zniknie.

pozdrawiam

Nie mogę uwierzyć, że trzeba takie głupoty robić. Dodawać więcej powtarzalnego spamerskiego tekstu, żeby zmniejszyć sobie spam rating :slight_smile: Na to bym nie wpadł.

@świstak - zrobiłem według Twojej opcji a) i bez poprawy,
nawet bez obrazka co drugi mail ląduje w spamie.

poniżej raport, jak by się komuś chciało zerkać bedę wdzięczny

[code]==========================================================
Summary of Results

SPF Check : neutral
Sender-ID Check : neutral
DomainKeys Check : neutral
DKIM Check : neutral
SpamAssassin Check : ham

Details:

HELO hostname: 295b.rev.megiteam.pl
Source IP: 91.227.41.91
mail-from: test@xxx.megivps.pl

SPF check details:

Result: neutral
ID(s) verified: smtp.mail=test@xxx.megivps.pl
DNS record(s):


Sender-ID check details:

Result: neutral
ID(s) verified: smtp.mail=test@xxx.megivps.pl
DNS record(s):


DomainKeys check details:

Result: neutral (message not signed)
ID(s) verified: header.From=test@xxx.megivps.pl
Selector=
domain=
DomainKeys DNS Record=


DKIM check details:

Result: neutral (message not signed)
ID(s) verified: header.From=test@xxx.megivps.pl
Selector=
domain=
DomainKeys DNS Record=


SpamAssassin check details:

SpamAssassin v3.2.5 (2008-06-10)

Result: ham (00.4points, 10.0 required)

pts rule name              description
---- ---------------------- -------------------------------


*  0.0 HTML_MESSAGE BODY: HTML included in message
*  0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
*  0.3 AWL AWL: From: address is in the auto white-list

==========================================================
Explanation of the possible results (adapted from
draft-kucherawy-sender-auth-header-04.txt):

“pass”
the message passed the authentication test.

“fail”
the message failed the authentication test.

“softfail”
the message failed the authentication test, and the authentication
method has either an explicit or implicit policy which doesn’t require
successful authentication of all messages from that domain.

“neutral”
the authentication method completed without errors, but was unable
to reach either a positive or a negative result about the message.

“temperror”
a temporary (recoverable) error occurred attempting to authenticate
the sender; either the process couldn’t be completed locally, or
there was a temporary failure retrieving data required for the
authentication. A later retry may produce a more final result.

“permerror”
a permanent (unrecoverable) error occurred attempting to
authenticate the sender; either the process couldn’t be completed
locally, or there was a permanent failure retrieving data required
for the authentication.

==========================================================
Original Email

From test@xxx.megivps.pl Fri Feb 03 16:18:13 2012
Return-path: test@xxx.apoc.megivps.pl
Envelope-to: check@isnotspam.com
Delivery-date: Fri, 03 Feb 2012 16:18:13 -0600
Received: from 295b.rev.megiteam.pl ([91.227.41.91] helo=apoc.megivps.pl)
by s15387396.onlinehome-server.com with esmtp (Exim 4.71)
(envelope-from test@xxx.megivps.pl)
id 1RtRSP-0008MU-DF
for check@isnotspam.com; Fri, 03 Feb 2012 16:18:13 -0600
Received: from xxx.megivps.pl (apoc.megivps.pl [91.227.41.91])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
(Authenticated sender: test@xxx.megivps.pl)
by xxx.megivps.pl (Postfix) with ESMTP id 8C1B34605C6C
for check@isnotspam.com; Fri, 3 Feb 2012 23:18:07 +0100 (CET)
Date: Fri, 3 Feb 2012 23:18:07 +0100
From: DEMUR test@xxx.megivps.pl
To: check@isnotspam.com
Message-Id: 4f2c5d1f39437_216f..fbac80de18@apoc.megivps.pl.tmail
Subject: =?utf-8?Q?Potwierdzenie_zam=C3=B3wienia_nr_=39=34=30=33=30=32=32=30=31=32?=
Mime-Version: 1.0
Content-Type: text/html; charset=utf-8
X-Virus-Scanned: by amavisd-new

<tr>
	<td style="padding: 20px 0 0 0;font-size: 16px; border-bottom: 1px solid #666666;">Szczegóły zamówienia nr <strong>9403022012</strong></td>
</tr>

<tr>
	<td>
    	<table width="690px" cellpadding="0" cellspacing="0" style="padding:20px 0 0 0;">
        	<tr>
            	<td  style="vertical-align:top;">

                    <table width="345" style="padding-top:20px">
                        <tr>
                            <td colspan="2" style=" height: 40px; font-size: 14px; font-weight:bold;">Dane ZamawiajÄ

cego








                        <tr>
                            <td style="font-size: 12px; width: 130px; text-indent: 10px;">Adres:</td>
                            <td style="font-size: 12px; font-weight:bold;">jh gjhgj / hg</td>
                        </tr>
                        <tr>
                            <td style="font-size: 12px; width: 130px; text-indent: 10px;">Miejscowość:</td>
                            <td style="font-size: 12px; font-weight:bold;">jhg</td>
                        </tr>
                        <tr>
                            <td style="font-size: 12px; width: 130px; text-indent: 10px;">Kod pocztowy:</td>
                            <td style="font-size: 12px; font-weight:bold;">jhg</td>
                        </tr>
                        <tr>
                            <td style="font-size: 12px; width: 130px; text-indent: 10px;">Telefon:</td>
                            <td style="font-size: 12px; font-weight:bold;">jhg</td>
                        </tr>
                    </table>
                    

                </td>
            	<td style="vertical-align:top;">

                <table width="345" cellpadding="0" cellspacing="0" style="padding:20px 0 0 0;">
                    <tr><td colspan="2" style="height: 30px; font-size: 14px; font-weight:bold;">Przesyłka</td></tr>
                    <tr><td style="font-size: 12px; text-indent: 10px;">Przesylka standard - 10 dni (20.0) zł</td></tr>
                </table>
                 <table width="345" cellpadding="0" cellspacing="0" style="padding:20px 0 0 0;">
                    <tr><td colspan="2" style=" height: 30px; font-size: 14px; font-weight:bold;">Płatność</td></tr>
                    <tr><td style="font-size: 12px; text-indent: 10px;">Przelew internetowy (Dot Pay)</td></tr>
                </table>
                <table width="345" cellpadding="0" cellspacing="0" style="padding:20px 0 0 0;">
                    <tr><td colspan="2" style=" height: 30px; font-size: 14px; font-weight:bold;">Wartość zamówienia</td></tr>
                    <tr><td style="font-size: 12px; text-indent: 10px;">100.4 zł</td></tr>
                </table>
                
                 <table width="345" cellpadding="0" cellspacing="0" style="padding:20px 0 0 0;">
                    <tr><td colspan="2" style=" height: 30px; font-size: 14px; font-weight:bold;">Status</td></tr>
                    <tr><td style="font-size: 12px; text-indent: 10px;"><strong>Niezapłacone</strong></td></tr>
                </table>
                

                </td>
            </tr>
        </table>
    </td>
</tr>


<tr>
	<td>
    	<table width="690" cellpadding="0" cellspacing="0" border="0" style="font-size:12px; padding:20px 0 20px 0">
            <tr class="itemLabel">
            <td style="padding: 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Miniaturka</td>
            <td style="padding: 7px 0 8px 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Produkt</td>
            <td style="padding: 7px 0 8px 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Ilość</td>
            <td style="padding: 7px 0 8px 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Paramerty</td>
            <td style="padding: 7px 0 8px 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Efekty</td>
            <td style="padding: 7px 0 8px 5px;background-color:#e5e5e5;border-right: 1px solid white; border-bottom: 1px solid white;">Cena</td>
            </tr>
            
            <tr style="text-align:center;">
                <td style="vertical-align: middle;border-right: 1px solid #b2aeae; border-left: 1px solid #b2aeae;border-top: 1px solid #b2aeae;
                vertical-align:middle; padding: 5px;">
                <img src="http://xxx.megivps.pl/thumb/llhrb2icqkimysntnosk.jpg" alt="miniaturka zamĂłwienia" /></td>
                <td style="vertical-align: middle; padding: 15px 0 15px 0;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">Obraz</td>
                <td style="vertical-align: middle; padding: 15px 0 15px 0;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">1</td>
                <td style="vertical-align: middle; padding: 15px 0 15px 0;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae; text-align:left;">
                    <table cellpadding="0" cellspacing="0" style="font-size:12px; margin:5px;" align="center">
                        <tr>
                            <td style="vertical-align:top; font-size: 11px; width: 60px; padding:0 0 5px 0;">Materiał:</td>
                            <td style="vertical-align:top;  font-size: 11px; padding:0 0 5px 0;">płótno bawełniane 360g/m2</td>
                        </tr>
                        <tr>
                            <td style="vertical-align:top; font-size: 11px; width: 60px; padding:0 0 5px 0;">Rozmiar:</td>
                            <td style="vertical-align:top; font-size: 11px; padding:0 0 5px 0;">20.0 x 30.0 cm</td>
                        </tr>
                        
                          <tr>
                              <td style="vertical-align:top; font-size: 11px; width: 60px; padding:0 0 5px 0;">Rama:</td>
                              <td style="vertical-align:top;  font-size: 11px; padding:0 0 5px 0;">Drewniana rama wewnętrza</td>
                          </tr>
                        
                        <tr>
                            <td style="vertical-align:top; font-size: 11px; width: 60px; padding:0 0 5px 0;">Nr zdjęcia:</td>
                            <td style="vertical-align:top;  font-size: 11px; padding:0 0 5px 0;">20</td>
                        </tr>
                    </table>
                </td>
                <td style="vertical-align: middle; padding: 15px 0 15px 0;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">Brak</td>
                <td style="vertical-align: middle; padding: 15px 0 15px 0;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">80.4 zł</td>
            </tr>
            
            <tr>
                <td colspan="4" style="border-left: 1px solid #b2aeae;text-indent: 15px;vertical-align: middle;
                padding: 8px 0 8px 0;color:#3f3f3f;border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">&nbsp;</td>
                <td style="text-indent: 15px;vertical-align: middle;padding: 8px 0 8px 0;color:#3f3f3f;
                border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">Koszt przesyłki</td>
                <td style="text-indent: 15px;vertical-align: middle;padding: 8px 0 8px 0;color:#3f3f3f;
                border-right: 1px solid #b2aeae;border-top: 1px solid #b2aeae;">20.0 zł </td>
            </tr>

            

            <tr class="fin">
                <td colspan="6" style="background-color: #CCCCCC; text-align:right; padding: 10px;">
                <p style="color: #000000; font-size: 20px;"><span style="font-size:12px;">Cena razem:</span><br />100.4 zł</p>
                </td>
            </tr>

        </table>
    </td>
</tr>

ZamĂłwienie za sklepu DEMUR nr 9403022012

Dziękujemy za zakupy w naszym sklepie, dokonamy wszelkich starań aby byli Pańswto zadowoleni z zakupĂłw. Na kaĹźdym etapie realizacji zamĂłwienia będÄ Państwo informowani mailowo.

Monitorowanie ststusu zamówienia jest możliwe także z poziomu panelu klienta. Konto zakładane jest automatycznie podczas pierwszego zamówienia

Imię: ujygjhg
Nazwisko: jhg
[/code]

@paneq: niestety tak jest ze względu na to że jakieś 2-3 lata temu popularny był bardzo spam obrazkowy, i filtry zostały dodstosowane do tego żeby nie lubieć maili z obrazkami. Nawet jest specjalna regułą w SA która filtruje po obrazku załączonym + short helo (w trakcie inicjalizacji protokołu SMTP), dlatego że to była właśnie częsta kombinacja u spamerów.

@zawia5: nie zrobiłeś punktu a) dodaj jeszcze wersję tekstową maila, jak widać nie zgłasza już HTML_IMAGE_ONLY_16 BODY, i rating za treść masz minimalny. Prawdopodobnie niektóre serwery pocztowe dodają ci rating za zła konfigurację serwera poczty, z tym możesz się kontaktować z megiteam.

Konfiguracja serwera poprawna , SPF dla domeny ustawiony.
@swistak, mam oba pliki w widoku plik.text.erb i plik html.erb. W jednym sam tekst w drugim razem z tagami. Z tego co zrozumiałem to samo to wystarczy, czy gdzieś jeszcze cos musze skonfigurować ?

aha, nie bardzo wiem jak używasz do tego parsera - mógłbyś cos wiecej napisać ?