This happens when your IP address is listed in the Spamhaus PBL. This DNSBL contains a list of known dialup/dynamic IP address ranges which should not ordinarily be sending mail via SMTP.
To fix the problem, change your mail client's outgoing mail server settings to connect to port 587 instead of port 25.
I have used the following config
ROUTER
send_via_gmail:
driver = manualroute
domains = ! +local_domains
transport = gmail_smtp
route_list = * smtp.gmail.com
TRANSPORT
gmail_smtp:
driver = smtp
port = 587
hosts_require_auth = $host_address
hosts_require_tls = $host_address
AUTHENTICATOR
gmail_login:
driver = plaintext
public_name = LOGIN
client_send = : alex.hha@gmail.com : 7654321
Some simple test
# swaks -s 127.0.0.1 --to user@example.net --from alex.hha@gmail.com
=== Trying 127.0.0.1:25...
=== Connected to 127.0.0.1.
<- 220 mail.example.net, [127.0.0.1]
-> EHLO mail.example.net
<- 250-mail.example.net Hello localhost [127.0.0.1]
<- 250-SIZE 52428800
<- 250-PIPELINING
<- 250-STARTTLS
<- 250 HELP
-> MAIL FROM:<alex.hha@gmail.com>
<- 250 OK
-> RCPT TO:<user@example.net>
<- 250 Accepted
-> DATA
<- 354 Enter message, ending with "." on a line by itself
-> Date: Wed, 05 Mar 2014 10:22:55 -0500
-> To: user@example.net
-> From: alex.hha@gmail.com
-> Subject: test Wed, 05 Mar 2014 10:22:55 -0500
-> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
-> .
<- 250 OK id=1WLDep-0004ED-Kb
-> QUIT
<- 221 mail.example.net closing connection
=== Connection closed with remote host.
Check maillog file
# cat /var/log/exim/main.log | grep 1WLDep-0004ED-Kb
2014-03-05 10:22:55 1WLDep-0004ED-Kb <= alex.hha@gmail.com H=localhost (mail.example.net) [127.0.0.1] P=esmtp S=479
2014-03-05 10:22:55 1WLDep-0004ED-Kb gmail-smtp-msa.l.google.com [2a00:1450:4001:c02::6d] Network is unreachable
2014-03-05 10:23:00 1WLDep-0004ED-Kb => user@example.net R=send_via_gmail T=gmail_smtp H=gmail-smtp-msa.l.google.com [173.194.70.108] X=UNKNOWN:ECDHE-RSA-AES128-GCM-SHA256:128
2014-03-05 10:23:00 1WLDep-0004ED-Kb Completed
You can run exim in debug mode
# echo -e "helo localhost\nmail from:<me@domain.com>\nrcpt to:<someone@gmail.com>\nDATA\nHello world\n.\nquit" | exim -bhc 127.0.0.1 -d+all
After that you get a lot of data. Add the output to the question
Best Answer
Have you followed the steps outlined by Google?
"Gmail checks whether emails are correctly authenticated. If your messages are sent by a bulk mailing vendor or by third-party affiliates, please publish an SPF record (#2) that includes the IPs of the vendor or affiliates which send your messages. Or, you may consider signing your messages with a DKIM (#3) signature that is associated with your domain."
Option 2, is probably the most straight forward which will also yield the most mileage (with other systems/site as well - besides Google)
" 2. SPF record: An SPF record is a list of IP addresses that are authorized to send mail for a particular domain. For more information on how to publish an SPF record, please visit http://www.openspf.org."