【问题标题】:Can I use any email under my domain name to send emails using AWS SES?我可以使用我的域名下的任何电子邮件通过 AWS SES 发送电子邮件吗?
【发布时间】:2020-07-16 13:19:51
【问题描述】:

如果我问了一个非常愚蠢的问题,请原谅我。我是 SES 新手,在 AWS 文档中找不到关于此问题的直接答案。

一些背景信息:我在 EC2 上使用节点服务器。我拥有一个域,比如说“mydomain.com”。我只需要 AWS SES 向我的客户发送电子邮件,并且我计划在我的 EC2 服务器中使用 AWS-SDK 与 SES 对话。 我不需要接收任何来自客户的电子邮件

根据 AWS SES 文档,我只需要验证我的域或电子邮件地址 - 只需其中一个。

假设我选择验证我的域 mydomain.com,但我没有验证电子邮件。那么,当我使用 AWS-SDK sendEmail() 时,鉴于我没有验证任何电子邮件,我应该/可以使用什么电子邮件?

我可以使用任何电子邮件,只要它使用我的域名吗?例如。 support@mydomain.com?

感谢您的回答!

【问题讨论】:

    标签: node.js amazon-web-services email amazon-ec2 amazon-ses


    【解决方案1】:

    验证是为了确保您是所有者至少是您要使用的电子邮件地址

    因此,当您验证域时,您将被验证为域的管理员,因此可以访问该特定域上的任何电子邮件地址。

    详细说明,如果您可以证明您可以更改域的 DNS 记录(就像您为验证所做的那样),您可以更改任何与电子邮件相关的 DNS 记录,例如 MX records (more on the wiki),因此不需要任何额外的验证.

    我鼓励您详细了解 MX 记录。

    【讨论】:

      【解决方案2】:

      只要您能够验证您的域,是的,您可以使用任何带有您的域名的电子邮件。 AWS 想知道您是该域的所有者。

      提示:

      “我计划在我的 EC2 服务器中使用 AWS-SDK 与 SES 对话。”

      我建议通过 NodeJS 使用 AWS Lambda 函数并从 API 网关触发它们。通过这种方式,您将节省每月花费在 EC2 实例上的费用,并使用高可用性 API 发送电子邮件。

      此外,您还可以在业务流程的任何地方使用此 API。

      以下是通过 Lambda 函数使用 AWS SES 服务发送电子邮件的示例代码。

      var AWS = require('aws-sdk');
      var ses = new AWS.SES();
       
      var RECEIVER = 'to@yourdomain.com';
      var SENDER = 'from@yourdomain.com';
      
      var response = {
       "isBase64Encoded": false,
       "statusCode": 200,
       "headers": {
              "X-Requested-With": '*',
              "Access-Control-Allow-Headers": 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,x-requested-with',
              "Access-Control-Allow-Origin": '*',
              "Access-Control-Allow-Methods": 'POST,GET,OPTIONS'
          },
       "body": "{\"result\": \"Success.\"}"
       };
      
      exports.handler = function (event, context) {
          var formdata = JSON.parse(event.body);
          sendEmail(formdata, function (err, data) {
              context.done(err, response);
          });
      };
       
      function sendEmail (formdata, done) {
          var params = {
              Destination: {
                  ToAddresses: [
                      RECEIVER
                  ]
              },
              Message: {
                  Body: {
                      Text: {
                          Data: 'name: ' + formdata.name + '\nemail: ' + formdata.email + '\ndesc: ' + formdata.desc,
                          Charset: 'UTF-8'
                      }
                  },
                  Subject: {
                      Data: 'Website Referral Form: ' + formdata.name,
                      Charset: 'UTF-8'
                  }
              },
              Source: SENDER
          };
          ses.sendEmail(params, done);
      }
      

      【讨论】:

        猜你喜欢
        • 2020-04-18
        • 1970-01-01
        • 1970-01-01
        • 2016-11-17
        • 2021-09-01
        • 1970-01-01
        • 2020-11-25
        • 2011-08-07
        • 2020-10-20
        相关资源
        最近更新 更多