Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何从谷歌云通过G-suite发送电子邮件_Email_Go_Google Cloud Platform_Smtp_Google Workspace - Fatal编程技术网

Email 如何从谷歌云通过G-suite发送电子邮件

Email 如何从谷歌云通过G-suite发送电子邮件,email,go,google-cloud-platform,smtp,google-workspace,Email,Go,Google Cloud Platform,Smtp,Google Workspace,如何从Google云所有者G-suite电子邮件帐户发送Go中的电子邮件 是否可以使用Google Cloud Projectd现有授权,而不在Go源文件中指定Google帐户密码?我找到了解决方案 而且非常简单:您可以将连接限制到服务器IP地址,而不是指定帐户密码 1) 使用G-suite管理员帐户登录您的Google管理控制台() 2) 单击应用程序->G套件->Gmail->高级设置 3) 在页面底部,将鼠标悬停在SMTP中继服务上,然后单击“添加另一个” 4) 作为允许的发件人选择“仅我

如何从Google云所有者G-suite电子邮件帐户发送Go中的电子邮件


是否可以使用Google Cloud Projectd现有授权,而不在Go源文件中指定Google帐户密码?

我找到了解决方案

而且非常简单:您可以将连接限制到服务器IP地址,而不是指定帐户密码

1) 使用G-suite管理员帐户登录您的Google管理控制台()

2) 单击应用程序
->G套件->Gmail->高级设置

3) 在页面底部,将鼠标悬停在SMTP中继服务上,然后单击“添加另一个”

4) 作为允许的发件人选择“仅我的域中的地址”

5) 选中“仅接受来自指定IP地址的邮件”,然后键入服务器IP地址

6) 单击“添加设置”然后单击“保存”进行确认



这是发送电子邮件所需的Go代码:

from := "myuser@mydomain.com"
to := "mail@recipient.com"

msg := "From: " + from + "\n" +
    "To: " + to + "\n" +
    "Subject: Hello there\n\n" +
    "SOME TEXT"

err := smtp.SendMail("smtp-relay.gmail.com:587", nil,
    from, []string{to}, []byte(msg))

if err != nil {
    log.Printf("smtp error: %s", err)
}

我找到了解决办法

而且非常简单:您可以将连接限制到服务器IP地址,而不是指定帐户密码

1) 使用G-suite管理员帐户登录您的Google管理控制台()

2) 单击应用程序
->G套件->Gmail->高级设置

3) 在页面底部,将鼠标悬停在SMTP中继服务上,然后单击“添加另一个”

4) 作为允许的发件人选择“仅我的域中的地址”

5) 选中“仅接受来自指定IP地址的邮件”,然后键入服务器IP地址

6) 单击“添加设置”然后单击“保存”进行确认



这是发送电子邮件所需的Go代码:

from := "myuser@mydomain.com"
to := "mail@recipient.com"

msg := "From: " + from + "\n" +
    "To: " + to + "\n" +
    "Subject: Hello there\n\n" +
    "SOME TEXT"

err := smtp.SendMail("smtp-relay.gmail.com:587", nil,
    from, []string{to}, []byte(msg))

if err != nil {
    log.Printf("smtp error: %s", err)
}

更好的方法是直接在谷歌云中创建API/OAuth2凭证。 这样,您甚至不必指定服务器IP地址作为安全措施:


更好的方法是直接在谷歌云中创建API/OAuth2凭据。 这样,您甚至不必指定服务器IP地址作为安全措施:


密码不应出现在源文件中。它们应该在环境变量中,或者存储在您告诉您的回购协议忽略的文件中。我想知道,在谷歌云上,您是否可以完全避免为发送电子邮件指定密码?这是在应用程序引擎上吗?标准、Flex或Compute Engine?使用Compute EnginePassword时,源文件中不应包含这些密码。它们应该在环境变量中,或者存储在您告诉您的回购协议忽略的文件中。我想知道,在谷歌云上,您是否可以完全避免为发送电子邮件指定密码?这是在应用程序引擎上吗?Standard、Flex或Compute Engine?使用Compute Engine,您还可以将密码信息存储在secrets manager中并从云应用程序中提取密码信息您还可以将密码信息存储在secrets manager中并从云应用程序中提取密码信息