AWS SES с namecheap доменом получать почту

Я следовал всем инструкциям, добавил 4 CNAME, 1 TXT Record, 1 Custom MX, После этого я установил рабочую почту aws и могу отправлять электронные письма кому угодно, поскольку учетная запись активирована, ее нет в песочнице. Когда кто-то отправляет письмо на рабочую почту (ответ на электронное письмо, которое мы отправили), это письмо никогда не приходит, и в Gmail мы не получили сообщение об ошибке, что оно не получено.

0 ответов

Вы можете заставить его работать с сочетанием S3, SES и Lambda. Это довольно запутанно.

Вот статья AWS о том, как это сделать: https://aws.amazon.com/blogs/messaging-and-targeting/forward-incoming-email-to-an-external-destination/

Вот общие шаги, которые вы предпримете:

1) вы должны подтвердить свой домен в SES

2) создайте запись mx в NameCheap (значения для использования указаны по ссылке выше):

3) создайте корзину s3 для хранения писем с политиками, изложенными в ссылке выше

4) создайте набор правил в SES для сохранения писем в корзину (Под Email Receiving в левом меню)

5) создайте лямбда-функцию для пересылки писем. В отличие от статьи выше, здесь я использовал Node. Мое решение основано на этом: https://github.com/arithmetric/aws-lambda-ses-forwarder. Это мой package.json:

{
  "name": "aws-lambda-ses-forwarder-example",
  "version": "1.0.0",
  "description": "Example implementation of aws-lambda-ses-forwarder.",
  "main": "index.js",
  "dependencies": {
    "aws-lambda-ses-forwarder": "^3.0.0"
  }
}

И это в моем index.js:

var LambdaForwarder = require("aws-lambda-ses-forwarder");

exports.handler = function(event, context) {
  // Configure the S3 bucket and key prefix for stored raw emails, and the
  // mapping of email addresses to forward from and to.
  //
  // Expected keys/values:
  // - fromEmail: Forwarded emails will come from this verified address
  // - emailBucket: S3 bucket name where SES stores emails.
  // - emailKeyPrefix: S3 key name prefix where SES stores email. Include the
  //   trailing slash.
  // - forwardMapping: Object where the key is the email address from which to
  //   forward and the value is an array of email addresses to which to send the
  //   message.
  var overrides = {
    config: {
      fromEmail: "", // Email address using your domain
      subjectPrefix: "",
      emailBucket: "", // S3 email bucket name
      emailKeyPrefix: "emails/", // Replace with "Object key prefix" set in SES and add a forward slash
      forwardMapping: {
        "@domain.com": [ // Use your domain here
          "you@example.com" // email to forward to
        ],
        "@domain2.com": [ // you can add more domains to forward from (explained below *)
          "you@example.com"
        ],
      }
    }
  };
  LambdaForwarder.handler(event, context, overrides);
};
  • Вы можете использовать это для пересылки писем из нескольких доменов. Допустим, у вас есть 2 домена с наименьшими именами. Выполните шаги 1 и 2 для каждого домена. Тогда, пока у вас есть оба домена как свойства "forwardMapping", они оба будут перенаправлены вам. Все электронные письма будут отправляться с адреса электронной почты, указанного в "fromEmail", независимо от домена.

6) В лямбда-выражении установите для параметра "Обработчик" значение index.handler

Другие вопросы по тегам