使用gmail服务器在go lang中发送安全邮件

使用gmail服务器在go lang中发送安全邮件,go,gmail,Go,Gmail,我需要用gmail在go-lang程序中发送电子邮件。 我发现有几个例子需要更改Google帐户安全设置。 有人能给我举一个例子,在不改变谷歌安全性的情况下发送邮件吗 我尝试了以下方法: servername := "smtp.gmail.com:465" host := "smtp.gmail.com" auth := smtp.PlainAuth("","john@gmail.com", "johnpa

我需要用gmail在go-lang程序中发送电子邮件。 我发现有几个例子需要更改Google帐户安全设置。 有人能给我举一个例子,在不改变谷歌安全性的情况下发送邮件吗

我尝试了以下方法:

servername := "smtp.gmail.com:465"
host := "smtp.gmail.com"
auth := smtp.PlainAuth("","john@gmail.com", "johnpassword", "smtp.gmail.com")

// TLS config
tlsconfig := &tls.Config {
    InsecureSkipVerify: true,
    ServerName: host,
}

conn, err := tls.Dial("tcp", servername, tlsconfig)
if err != nil {
    log.Panic(err)
}

c, err := smtp.NewClient(conn, host)
if err != nil {
    log.Panic(err)
}

// Auth
if err = c.Auth(auth); err != nil {
    log.Panic(err)
}

The Auth call fails and shows the following error:


535 5.7.8 Username and Password not accepted. Learn more at
5.7.8  https://support.google.com/mail/?p=BadCredentials 

1.检查用户是否已启用2fa。如果是这样,您需要密钥而不是密码。2.试试这个,我将使用谷歌邮件api代替。但也有问题::