I host my own email server (postfix, and dovecot) and I have DKIM/SPF setup correctly, and have helped close to a dozen others I know setup theirs.
I have had ZERO issues.
What I believe, but not certain, the issue others may have revolves around the host record, and reverse lookup of an IP address of your mail server. If the reverse lookup points to something other than your CNAME record, Google doesn't like it, and it gets flagged.
For instance, my mail server has a CNAME of host.foo.com, and mail.foo.com, and I have two aliases imap.foo.com, and smtp.foo.com. I have had my service provider change the reverse lookup for my mail address to host.foo.com, where it was xxx-xxx-xxx-xxx.location-att.swbell.com (or something to that affect), as multiple services are on that IP address. I only have a block of 5. The smtp server needs to respond with the reverse lookup name. So for postfix, the smtpd_banner needs to be host.foo.com. Google does do a reverse query to validate the user, and domain, most of the time.
Also, Google maintains their own internal DNSBL. If your email is getting flagged, and the above is correct, then the IP address you've obtained from your ISP has been problematic in the past. Email Gmail to ask to be removed with the new domain, and don't do it until the reverse lookup and pointer records have changed.
You also need to contact the various spam black list sights and get your IP address removed. If you SPAM, you will get blacklisted. I also host a blacklist.
The author of this article should have known about this, and wrote a very misleading article.
I have had ZERO issues.
What I believe, but not certain, the issue others may have revolves around the host record, and reverse lookup of an IP address of your mail server. If the reverse lookup points to something other than your CNAME record, Google doesn't like it, and it gets flagged.
For instance, my mail server has a CNAME of host.foo.com, and mail.foo.com, and I have two aliases imap.foo.com, and smtp.foo.com. I have had my service provider change the reverse lookup for my mail address to host.foo.com, where it was xxx-xxx-xxx-xxx.location-att.swbell.com (or something to that affect), as multiple services are on that IP address. I only have a block of 5. The smtp server needs to respond with the reverse lookup name. So for postfix, the smtpd_banner needs to be host.foo.com. Google does do a reverse query to validate the user, and domain, most of the time.
Also, Google maintains their own internal DNSBL. If your email is getting flagged, and the above is correct, then the IP address you've obtained from your ISP has been problematic in the past. Email Gmail to ask to be removed with the new domain, and don't do it until the reverse lookup and pointer records have changed.
You also need to contact the various spam black list sights and get your IP address removed. If you SPAM, you will get blacklisted. I also host a blacklist.
The author of this article should have known about this, and wrote a very misleading article.