Amazon web services Amazon SES邮件未使用NodeEmailer发送

Amazon web services Amazon SES邮件未使用NodeEmailer发送,amazon-web-services,amazon-ses,nodemailer,Amazon Web Services,Amazon Ses,Nodemailer,尝试使用亚马逊ses为我的网站发送电子邮件通过我的网站。我的应用程序是使用nodejs开发的,并使用nodemail和nodemailer-ses传输发送邮件。但是得到以下错误 { AccessDenied: User `arn:aws:iam::755682848022:user/shajao.email' is not authorized to perform `ses:SendRawEmail' on resource `arn:aws:ses:us-east-1:75568284802

尝试使用亚马逊ses为我的网站发送电子邮件通过我的网站。我的应用程序是使用nodejs开发的,并使用nodemail和nodemailer-ses传输发送邮件。但是得到以下错误

{ AccessDenied: User `arn:aws:iam::755682848022:user/shajao.email' is not authorized to perform `ses:SendRawEmail' on resource `arn:aws:ses:us-east-1:755682848022:identity/shajao.com'
    at Request.extractError (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/protocol/query.js:47:29)
    at Request.callListeners (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
    at Request.emit (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
    at callNextListener (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/sequential_executor.js:95:12)
    at IncomingMessage.onEnd (/Volumes/Zotac 120GB/6sense/printit/printit-backend/node_modules/aws-sdk/lib/event_listeners.js:269:13)
    at emitNone (events.js:110:20)
    at IncomingMessage.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1059:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
  message: 'User `arn:aws:iam::755682848022:user/shajao.email\' is not authorized to perform `ses:SendRawEmail\' on resource `arn:aws:ses:us-east-1:755682848022:identity/shajao.com\'',
  code: 'AccessDenied',
  time: 2017-12-25T10:49:05.129Z,
  requestId: '39942938-e961-11e7-aa22-07070e500047',
  statusCode: 403,
  retryable: false,
  retryDelay: 32.881228690068795 }
{AccessDenied:User`arn:aws:iam::755682848022:User/shajao.email'无权对资源`arn:aws:ses:us-east-1:755682848022:identity/shajao.com'执行`ses:sendrawmail'
at Request.extractError(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/protocol/query.js:47:29)
at Request.callListeners(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:105:20)
at Request.emit(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:77:10)
at Request.emit(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:683:14)
at Request.transition(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:22:10)
在AcceptorStateMachine.runTo(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/state_machine.js:14:12)
at/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/state_machine.js:26:10
应请求。(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:38:9)
应请求。(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:685:12)
at Request.callListeners(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:115:18)
at Request.emit(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:77:10)
at Request.emit(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:683:14)
at Request.transition(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:22:10)
在AcceptorStateMachine.runTo(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/state_machine.js:14:12)
at/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/state_machine.js:26:10
应请求。(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:38:9)
应请求。(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/Request.js:685:12)
at Request.callListeners(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:115:18)
在callNextListener(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/sequential_executor.js:95:12)
在IncomingMessage.onEnd(/Volumes/Zotac 120GB/6sense/printit/printit backend/node_modules/aws sdk/lib/event_listeners.js:269:13)
在emitNone(events.js:110:20)
在IncomingMessage.emit(events.js:207:7)
在endReadableNT(_stream_readable.js:1059:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:138:11)
在进程中。_tickDomainCallback(internal/process/next_tick.js:218:9)
消息:“用户`arn:aws:iam::755682848022:User/shajao.email\'无权在资源`arn:aws:ses:us-east-1:755682848022:identity/shajao.com\''上执行`ses:sendrawmail\',
代码:“访问被拒绝”,
时间:2017-12-25T10:49:05.129Z,
请求ID:'39942938-e961-11e7-aa22-07070e500047',
状态代码:403,
可检索:错误,
retryDelay:32.881228690068795}
我的代码如下:

var transporter = nodemailer.createTransport(sesTransport({
        accessKeyId: SESCREDENTIALS.accessKeyId,
        secretAccessKey: SESCREDENTIALS.secretAccessKey,
        rateLimit: 5
    }));


    var mailOptions = {
        "from": "Shajao Customer Service<admin@shajao.com>",
        "to": to,
        "subject": subject,
        "text": text,
        "html": html
    };

    transporter.sendMail(mailOptions, cb);
var transporter=nodeEmailer.createTransport(sesTransport)({
accessKeyId:SESCREDENTIALS.accessKeyId,
secretAccessKey:SESCREDENTIALS.secretAccessKey,
差饷限额:5
}));
var mailpoptions={
“发件人”:“Shajao客户服务”,
“to”:to,
“主体”:主体,
“文本”:文本,
“html”:html
};
transporter.sendMail(邮件选项,cb);

在aws控制台的IAM中创建了用户,并添加了我的访问密钥id和机密id。但仍不起作用。不确定如何添加“ses:sendrawmail\”

您需要在IAM中为您的用户设置策略或角色:

{
    "Version": "2012-10-17",
    "Statement": [
    {
       "Effect": "Allow",
       "Action": ["ses:SendEmail", "ses:SendRawEmail"],
       "Resource":"*"
     }
    ]
 }
IAM->用户->您的用户(shajao.email?->添加内联策略