Я пытаюсь настроить форму «Свяжитесь с нами» в своем приложении React, используя AWS SES, но выдает ошибку «CredentialsError: Отсутствуют учетные данные в конфигурации» - PullRequest
0 голосов
/ 04 марта 2020

Я создал шаблон электронной почты.

{
    "Template": {
        "TemplateName": "testemplate",
        "SubjectPart": "Test email for first name: {{firstName}}",
        "TextPart": "Test email body!",
        "HtmlPart": "<html>\r\n<head>\r\n    <title>Test Title<\/title>\r\n<\/head>\r\n<body>\r\n    <h1>First Name : {{firstName}}<\/h1>\r\n<\/body>\r\n<\/html>"
    }
}

Я настроил свою конфигурацию, используя свой регион, AWSAccessKeyID, AWSSecretKey, используя CLI конфигурации AWS.

Это функция, которую я выполняю:

var params = {
        Destination: { /* required */
            CcAddresses: [
            'MY_EMAIL',
            /* more CC email addresses */
            ],
            ToAddresses: [
            'MY_EMAIL',
            /* more To email addresses */
            ]
        },
        Source: 'MY_EMAIL', /* required */
        Template: 'testemplate', /* required */
        TemplateData: '{ \"firstName\":\"firstName\" }', /* required */
        ReplyToAddresses: [
            'MY_EMAIL'
        ],
        };

        var sendPromise = new AWS.SES({apiVersion: '2010-12-01'}).sendTemplatedEmail(params).promise();
        sendPromise.then(
            function(data) {
                console.log(data);
            }).catch(
            function(err) {
                console.error(err, err.stack);
            }
        );
    }

И когда я локально заполняю свою форму, я все еще получаю консольную ошибку в этом «CredentialsError: Отсутствие учетных данных в конфигурации» ,

Нужно ли мне настраивать отдельный файл конфигурации, содержащий мой ключ доступа, и т. Д. c при использовании AWS SES? И если да, то как? Первоначально я думал, что настройки m учетных данных через AWS SES CLI будет достаточно.

1 Ответ

0 голосов
/ 04 марта 2020

вам нужно будет установить учетные данные вне CLI - если вы развернете свой код, кредиты CLI с ним не пойдут.

Я не уверен с AWS, но на самом деле вам может понадобиться реализовать бэкэнд для обработки отправки информации о контактных формах. Учетные данные не должны отображаться во внешнем интерфейсе (угроза безопасности), поэтому вы должны отправлять полезную нагрузку контактной формы в API, который сервер может использовать, а затем отправлять на AWS.

. > бэкэнд (с кредитами)> AWS

...