登录
首页 >  Golang >  Go问答

Go Lambda 函数无法通过 SES SMTP 发送邮件

来源:stackoverflow

时间:2024-03-09 20:12:26 313浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《Go Lambda 函数无法通过 SES SMTP 发送邮件》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

您好,我已按照此处的说明尝试让我的 lambda 函数能够通过 ses smtp 发送电子邮件 https://docs.aws.amazon.com/ses/latest/dg/send-email-set-up -vpc-endpoints.html

在我的 lambda 函数中,我使用 net/smtp 包,当我尝试发送电子邮件时,出现此错误

发送电子邮件警报拨号 tcp 时出错:在 ..*.1:53 上查找 email-smtp.us-east-1.amazonaws.com:没有这样的主机

这是发送给我带来问题的电子邮件的代码。请注意,当我在本地运行此 go 代码时,它工作正常。

user := os.Getenv("SMTP_USER")
    password := os.Getenv("SMTP_PASSWORD")

    to := []string{
        "[email protected]",
    }

    addr := "email-smtp.us-east-1.amazonaws.com:587"
    host := "email-smtp.us-east-1.amazonaws.com"

    msg := []byte("From: [email protected]\r\n" +
        "To: [email protected]\r\n" +
        "Subject: Test mail\r\n\r\n" +
        "Email Body \r\n")

    auth := smtp.PlainAuth("", user, password, host)

    err = smtp.SendMail(addr, auth, from, to, msg)```

正确答案


我终于可以让 SMTP 正常工作了。除了安全组部分之外,OP 中该文档中的所有内容都是正确的。为了让它工作,我必须设置安全组的入站和出站规则(不完全确定是否需要出站)以使用我的 VPC 中子网的整个 IP 地址范围,用于 use1-az1 作为源/分别是目的地。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>