Lambda Function(Go) 无法使用 SES SMTP 发送电子邮件

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

在我的 Lambda 函数中,我使用了 net/smtp 包,当我尝试发送电子邮件时,它给了我这个错误

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

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

user := os.Getenv("SMTP_USER")

    password := os.Getenv("SMTP_PASSWORD")


    to := []string{

        "testemail@gmail.com",

    }


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

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


    msg := []byte("From: test@test.com\r\n" +

        "To: test@test.com\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)```


茅侃侃
浏览 169回答 1
1回答

开心每一天1111

我终于能够让 SMTP 工作了。OP 中该文档中的所有内容都是正确的,除了安全组部分。为了让它工作,我必须设置我的安全组的入站和出站规则(不完全确定是否需要出站)以将我的 VPC 中子网的整个 IP 地址范围用于 use1-az1 for source/目的地分别。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go