Google docs says that if app do not support SSL, then use aspmx.l.google.com and 25 port.

Here is log of my attempt:

Socket event on fd 376: 128 (B4BD74 vs B4BD74)
Connect result status: 128
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 53 bytes (fd 376)
 .. got 53 bytes
read data
evbuffer_add (fd 376): 16 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 52 bytes (fd 376)
 .. got 52 bytes
read data
EHLO response: 250-mx.google.com at your service, [83.69.213.227]
evbuffer_read 19 bytes (fd 376)
 .. got 19 bytes
read data
EHLO response: 250-SIZE 35882577
evbuffer_read 14 bytes (fd 376)
 .. got 14 bytes
read data
EHLO response: 250-8BITMIME
evbuffer_read 14 bytes (fd 376)
 .. got 14 bytes
read data
EHLO response: 250-STARTTLS
evbuffer_read 25 bytes (fd 376)
 .. got 25 bytes
read data
EHLO response: 250-ENHANCEDSTATUSCODES
evbuffer_read 16 bytes (fd 376)
 .. got 16 bytes
read data
EHLO response: 250-PIPELINING
evbuffer_read 14 bytes (fd 376)
 .. got 14 bytes
read data
EHLO response: 250-CHUNKING
evbuffer_read 14 bytes (fd 376)
 .. got 14 bytes
read data
EHLO response: 250 SMTPUTF8
evbuffer_add (fd 376): 10 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 30 bytes (fd 376)
 .. got 30 bytes
read data
evbuffer_add (fd 376): 76 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 81 bytes (fd 376)
 .. got 81 bytes
read data
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 3597 bytes (fd 376)
 .. got 3597 bytes
read data
validate callback for /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
SSL cert initial error: unable to get local issuer certificate
SSL cert not trusted or unknown issuer: /C=US/O=Equifax/OU=Equifax Secure Certif
icate Authority
SSL validation result: 1 (0)
validate callback for /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
SSL cert initial error: certificate not trusted
SSL cert not trusted or unknown issuer: /C=US/O=Equifax/OU=Equifax Secure Certif
icate Authority
SSL validation result: 1 (0)
validate callback for /C=US/O=Google Inc/CN=Google Internet Authority G2
SSL validation result: 1 (0)
validate callback for /C=US/ST=California/L=Mountain View/O=Google Inc/CN=mx.goo
gle.com
SSL validation result: 1 (0)
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 331 bytes (fd 376)
 .. got 331 bytes
read data
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 4 bytes (fd 376)
 .. got 4 bytes
read data
evbuffer_add (fd 376): 150 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 1 bytes (fd 376)
 .. got 1 bytes
read data
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 64 bytes (fd 376)
 .. got 64 bytes
read data
evbuffer_add (fd 376): 90 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 176 bytes (fd 376)
 .. got 176 bytes
read data
EHLO response: 250-mx.google.com at your service, [83.69.213.227]
EHLO response: 250-SIZE 35882577
EHLO response: 250-8BITMIME
EHLO response: 250-ENHANCEDSTATUSCODES
EHLO response: 250-PIPELINING
EHLO response: 250-CHUNKING
EHLO response: 250 SMTPUTF8
evbuffer_add (fd 376): 90 B
leastSize waiting for new data.
socket 376 write event (false)!
leastSize waiting for new data.
socket 376 read event!
evbuffer_read 5 bytes (fd 376)
 .. got 5 bytes
read data
evbuffer_read 80 bytes (fd 376)
 .. got 80 bytes
read data
TCP close request true open
Actively closing TCP connection
Closing socket 376...
...socket 376 closed.
object.Exception@C:\Users\bubenkov_di\AppData\Roaming\dub\packages\vibe-d-0.7.23
\source\vibe\mail\smtp.d(266): Expected status 334 in response to AUTH LOGIN, go
t 503:  5.5.1 MAIL first. li1si12836577lbc.19 - gsmtp
----------------
0x0041317E in pure @safe void std.exception.bailOut!(Exception).bailOut(immutabl
e(char)[], uint, const(char[])) at C:\D\dmd2\windows\bin\..\..\src\phobos\std\ex
ception.d(400)
0x00417DD2 in pure @safe bool std.exception.enforce!(Exception, bool).enforce(bo
ol, lazy const(char)[], immutable(char)[], uint) at C:\D\dmd2\windows\bin\..\..\
src\phobos\std\exception.d(352)
0x0042867A in void vibe.mail.smtp.expectStatus(vibe.core.stream.InputStream, int
, immutable(char)[]) at C:\Users\bubenkov_di\AppData\Roaming\dub\packages\vibe-d
-0.7.23\source\vibe\mail\smtp.d(267)
0x0042607C in void vibe.mail.smtp.sendMail(vibe.mail.smtp.SMTPClientSettings, vi
be.mail.smtp.Mail) at C:\Users\bubenkov_di\AppData\Roaming\dub\packages\vibe-d-0
.7.23\source\vibe\mail\smtp.d(190)
0x004031B4 in _Dmain at D:\code\test\source\app.d(33)
0x004BC0CE in D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv
0x004BC0A3 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(ch
ar[][])*).runAll()
0x004BBFBB in _d_run_main
0x00425A7C in main
0x004F95C5 in mainCRTStartup
0x75BE337A in BaseThreadInitThunk
0x776B92E2 in RtlInitializeExceptionChain
0x776B92B5 in RtlInitializeExceptionChain
Main thread exiting
Error executing command run:
Program exited with code 1