Just helped someone get this sorted and thought i woulds share. The trick was to allow Less Secure apps in your account. Here is the link
https://myaccount.google.com/lesssecureapps?pli=1
Turn it on and then just use the normal CDO code.
Dim oEmail, sEmailFrom, sEmailTo, sEmailSubject, sEmailBody,sBCC ' Send email sEmailTo = "admin@SmarterDimensions.com" sEmailFrom = "FromAddress@SmarterDimensions.com" sEmailSubject = "Email Subject" sEmailBody = "Email Body this is bold" sBCC = "SmarterDimensions@live.com.au" Set oEmail = CreateObject("CDO.Message") With oEmail With .Configuration.Fields .Item["http://schemas.microsoft.com/cdo/configuration/smtpusessl"] = True .Item["http://schemas.microsoft.com/cdo/configuration/smtpserver"] = "smtp.gmail.com" .Item["http://schemas.microsoft.com/cdo/configuration/sendusing"] = 2 .Item["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "douglas.porton@gmail.com" .Item["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = "xxxxxxxxxxx" .Item["http://schemas.microsoft.com/cdo/configuration/smtpserverport"] = 465 .Item["http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"] = 60 .Item["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1 .Update() End With End With oEmail.From = sEmailFrom oEmail.To = sEmailTo oEmail.BCC = sBCC oEmail.Subject = sEmailSubject oEmail.HTMLBody = sEmailBody oEmail.Send() set oEmail = Null