Mail sent to gmail goes directly into spam

emailspam

First I would like to state I already searched through the database for similar questions to mine. Tried all of those suggestions but none really seem to work.

The problem is the following:
I developed a web application (cakePHP) that should send an e-mail whenever a new user registers for example. However when I try to send to a gmail address, gmail marks it as spam. I'm not using the mail() function but use smtp for the delivery.

SPF passes, DKIM passes, rDNS is setup correctly (checked by servint).

However, I've got the same problem whenever I try to send an e-mail through a web client in cpanel (roundcube in this case). Mails sent through roundcube to a gmail address also end up in spam. So I guess it's some kind of server setting, but according to servint all seems ok. I'm on a dedicated server by the way. Also checked if my ip has been blacklisted, but that's not the case also.

You guys maybe have any more suggestions? 🙂

Thanks

    Delivered-To: emailaddress@gmail.com
    Received: by 10.220.77.71 with SMTP id f7csp117778vck;
            Thu, 10 Oct 2013 01:17:52 -0700 (PDT)
    X-Received: by 10.180.100.202 with SMTP id fa10mr6509208wib.8.1381393071504;
            Thu, 10 Oct 2013 01:17:51 -0700 (PDT)
    Return-Path: <noreply@fitnesswinkel.be>
    Received: from buzzer.inboundhost.be (buzzer.inboundhost.be. [199.167.44.77])
            by mx.google.com with ESMTPS id ea7si5497937wib.43.1969.12.31.16.00.00
            (version=TLSv1 cipher=RC4-SHA bits=128/128);
            Thu, 10 Oct 2013 01:17:51 -0700 (PDT)
    Received-SPF: pass (google.com: domain of noreply@fitnesswinkel.be designates 199.167.44.77 as permitted sender) client-ip=199.167.44.77;
    Authentication-Results: mx.google.com;
           spf=pass (google.com: domain of noreply@fitnesswinkel.be designates 199.167.44.77 as permitted sender) smtp.mail=noreply@fitnesswinkel.be;
           dkim=pass header.i=@fitnesswinkel.be
    Received: from localhost ([127.0.0.1]:40730 helo=buzzer.inboundhost.be)
        by buzzer.inboundhost.be with esmtpa (Exim 4.80.1)
        (envelope-from <noreply@fitnesswinkel.be>)
        id 1VUBRO-000447-AM
        for emailaddress@gmail.com; Thu, 10 Oct 2013 04:17:50 -0400
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8;
     format=flowed
    Content-Transfer-Encoding: 7bit
    Date: Thu, 10 Oct 2013 04:17:50 -0400
    From: noreply@fitnesswinkel.be
    To: emailaddress@gmail.com
    Subject: een mail
    Message-ID: <dda53f0118b11663d941262200006e1f@fitnesswinkel.be>
    X-Sender: noreply@fitnesswinkel.be
    User-Agent: Roundcube Webmail/0.9.3
    X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
    X-AntiAbuse: Primary Hostname - buzzer.inboundhost.be
    X-AntiAbuse: Original Domain - gmail.com
    X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
    X-AntiAbuse: Sender Address Domain - fitnesswinkel.be
    X-Get-Message-Sender-Via: buzzer.inboundhost.be: authenticated_id: noreply@fitnesswinkel.be
    X-Source: 
    X-Source-Args: 
    X-Source-Dir: 

Best Answer

I went through the same at my last company, and there's no info from Gmail about it (to speak of). Luckily I'm friends with some of the best email deliverability people in the country, so these tips may help:

Firstly Gmail seems to penalise new domains. There's nothing you can do about that but keep emailing and hope it clears up eventually. Register your domain everywhere - Google Analytics, WebMaster tools, get it search indexed and showing up well in Google. Blog about it.

Secondly yes, ask your users to whitelist you. The more people do that the less likely gmail's global filter will hate you.

Make sure things are properly formatted: It seems everything is here, but we got caught by things like a weakly formatted Message-Id header.

Watch out for words like "Free". Capitalisation matters to google too, so "free" won't get caught as bad.

Add in extended formatting for To and From, i.e. full name in quotes, and address in angle brackets: "John Doe"

I hope these tips help. Gmail are very un-transparent about this stuff. The first point is the biggest problem, and impossible to get around.