How to resolve Gmail server through Google Public DNS

If your exim suddenly stopped sending mail out through Google Mail smarthost, and you see these errors in mail.log

2012-04-27 17:33:00 1SNslw-0000aW-LK == *******@yahoo.com R=smarthost defer (-36): host lookup for smtp.gmail.com did not complete (DNS timeout?)
2012-04-27 17:33:04 1SNsm0-0000ah-N9 == *******@yandex.ru R=smarthost defer (-36): host lookup for smtp.gmail.com did not complete (DNS timeout?)

add Google Public DNS servers into /etc/resolv.conf before any already existing there

nameserver 8.8.8.8      # Google Public DNS, add this line
nameserver 8.8.4.4      # Google Public DNS, add this line
nameserver 12.34.56.78  # Hosting DNS
nameserver 12.34.56.79  # Hosting DNS

restart mail agent and force another queue run to deliver messages from queue

$ sudo service exim4 restart
$ sudo exim -qff