IP of Outgoing SmartHost: smtp.gmail.com::587 (you must use two colons!)
Furthering the explanation of step 13.
The exim documentation explained my initial issues as Google's smtp.gmail.com is an alias for the real name and this fails to allow authentication to occur...
nslookup for smtp.gmail.com ==>
Non-authoritative answer:
smtp.gmail.com canonical name = gmail-smtp-msa.l.google.com <== real return value found by tail -f mainlog
Name: gmail-smtp-msa.l.google.com
Address: 108.177.12.108
Name: gmail-smtp-msa.l.google.com
Address: 108.177.12.109
thus
*.google.com < == used in
passwd.client
http://pkg-exim4.alioth.debian.org/README/exim4-config_files.5.html#/etc/exim4/passwd.client
This goes inevitably wrong if the host name of the mail server is a CNAME (a DNS alias), or the reverse lookup does not fit the forward one.
Currently, you need to manually lookup all reverse DNS names for all IP addresses that your SMTP server host name points to, for example by using the host command. If the SMTP smarthost alias expands to multiple IPs, you need to have multiple lines for all the hosts. When your ISP changes the alias, you will need to manually fix that.
You may minimize this trouble by using a wild card entry or regular expressions, thus reducing the risk of divulging the password to the wrong SMTP server while reducing the number of necessary lines. For a deeper discussion, see the Debian BTS #244724.
password is your SMTP password in clear text. If you do not know about your SMTP password, you can try using your POP3 password as a first guess.
This file must be readable for the Debian-exim user and should not be readable for others. Recommended file mode is root

ebian-exim 640.
# example for CONFDIR/passwd.client
# this will only match if the server’s generic name matches exactly
mail.server.example:user

assword
# this will deliver the password to any server
*:username

assword
# this will deliver the password to servers whose generic name ends in
# mail.server.example
*.mail.server.example:user

assword
# this will deliver the password to servers whose generic name matches
# the regular expression
^smtp[0-9]*.mail.server.example:user

assword