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