Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(中间值)。sendEmail(…)。promise不是函数_Email_Aws Sdk_Aws Sdk Nodejs - Fatal编程技术网

(中间值)。sendEmail(…)。promise不是函数

(中间值)。sendEmail(…)。promise不是函数,email,aws-sdk,aws-sdk-nodejs,Email,Aws Sdk,Aws Sdk Nodejs,我在我的服务中使用aws sdk发送电子邮件。我得到下面一个异常的代码,它以前工作得很好 const aws = require('aws-sdk'); var params = { Destination: { ToAddresses: [ 'checkMail@gmail.com' ] }, Message: { Body: { Html: { Charset: "UTF-8",

我在我的服务中使用aws sdk发送电子邮件。我得到下面一个异常的代码,它以前工作得很好

const aws = require('aws-sdk');

var params = {
  Destination: { 
    ToAddresses: [
      'checkMail@gmail.com'
    ]
  },
  Message: { 
    Body: { 
      Html: {
       Charset: "UTF-8",
       Data: "HTML_FORMAT_BODY"
      },
      Text: {
       Charset: "UTF-8",
       Data: "this is sample"
      }
     },
     Subject: {
      Charset: 'UTF-8',
      Data: 'Test email'
     }
    },
  Source: 'AWS Services<awsEmails@awsService.com>'
  ReplyToAddresses: [
     'AwsServices<noreply@awsServices.com>'
  ],
};

// Create the promise and SES service object
var emailPromise = new aws.SES({apiVersion: '2010-12-01'}).sendEmail(params).promise();

// Handle promise's fulfilled/rejected states
emailPromise.then(
  function(data) {
      //my logic on success goes here
  }).catch(
    function(err) {
      //my logic on error goes here      
  });
const aws=require('aws-sdk');
变量参数={
目的地:{
地址:[
'checkMail@gmail.com'
]
},
信息:{
正文:{
Html:{
字符集:“UTF-8”,
数据:“HTML\u格式\u正文”
},
正文:{
字符集:“UTF-8”,
数据:“这是样本”
}
},
主题:{
字符集:“UTF-8”,
数据:“测试电子邮件”
}
},
资料来源:“AWS服务”
答复地址:[
“AWS服务”
],
};
//创建promise和SES服务对象
var emailPromise=new aws.SES({apiVersion:'2010-12-01'}).sendmail(params.promise();
//处理承诺的履行/拒绝状态
我保证,那么(
功能(数据){
//我关于成功的逻辑是这样的
}).接住(
功能(err){
//我关于错误的逻辑是这样的
});
我曾尝试使用不同的API调用来自AWS的电子邮件,但都返回相同的错误

  • 如果只是使用单个服务,请避免要求所有aws sdk。对于使用SES,您可以添加@aws sdk/client SES,然后使用它
    const{SESClient,sendmailCommand}=require(@aws sdk/client SES”)
  • 我在这里向您展示了在nodeJS lambda函数中使用SES发送电子邮件的完整示例:

    const{
    客户:,
    发送电子邮件命令,
    }=需要(“@aws sdk/客户端ses”);
    const REGION=“eu-west-3”//使用AWS区域
    const ses=新的SESClient({region:region});
    exports.handler=异步函数(事件){
    const path=event.path;
    如果(路径==“/发送电子邮件”){
    constpeopleamount=12;
    常量参数={
    资料来源:“约翰·威克”,
    目的地:{
    地址:[”adresse1@test.com"],
    },
    信息:{
    正文:{
    Html:{
    数据:`这封电子邮件是关于${peopleAmount}人的。`,
    },
    },
    主题:{
    数据:“电子邮件标题”,
    },
    },
    };
    试一试{
    const data=wait ses.send(新的sendmailcommand(params));
    返回{
    状态代码:200,
    身体:人的数量,
    };
    }捕获(e){
    控制台错误(e,e.stack);
    返回{
    状态代码:400,
    正文:“发送失败”,
    };
    }
    }
    
    }
    嘿,你有没有找到解决这个问题的方法?我在SDK的v3中遇到了类似的问题。