簡體   English   中英

使用SES node.js發送電子郵件

[英]Sending email using SES node.js

我正在嘗試通過亞馬遜SES驗證的電子郵件向我的其他電子郵件發送電子郵件,但程序會出現錯誤,即未驗證電子郵件地址到字段。 我正在制作一個允許用戶使用AWS Cognito登錄的Web應用程序,因此我沒有在數據庫中使用他們的電子郵件地址。 我需要在活動上向他們發送電子郵件(我不能使用SNS,因為我需要向我已經想到的選擇性人員發送電子郵件。)所以我的問題是:a)我們是否還需要驗證收件人的SES電子郵件? b)如果是,我們如何使用cognito身份池來驗證他們的SES電子郵件地址。

碼:

var aws = require("aws-sdk");
aws.config.update({
    region: "us-west-2",
});

var ses = new aws.SES({"accessKeyId": "Mykey", "secretAccessKey":"YY","region":"us-west-2"})



var to = ['xyz@gmail.com']
var from='abc@gmail.com'




ses.sendEmail( {
    Source: from,
    Destination: { ToAddresses: to },
    Message: {
            Subject:{
    Data:"Sending emails through SES"
},
        Body: {
    Text: {
        Data: 'Stop your messing around',
    }
}
}
}
, function(err, data) {
    if(err) throw err
    console.log('Email sent:');
    console.log(data);
}

錯誤:

MessageRejected:未驗證電子郵件地址。 以下身份未通過區域US-WEST-2:xyz@gmail.com檢查

如果您在SES沙箱中對此進行測試,則需要先手動驗證收件人電子郵件地址,然后才能發送。

離開沙箱后不需要執行此步驟,但在開發期間測試與電子郵件相關的功能時,這是一個合理的默認安全設置,並且不希望偽造的電子郵件真實地發送給我們。

Amazon SES電子郵件發送錯誤 (相關部分以粗體顯示):

電子郵件地址未經過驗證。 以下身份未通過簽入區域:,,,您正嘗試從尚未通過Amazon SES驗證的電子郵件地址或域發送電子郵件。 此錯誤可能適用於“發件人”,“來源”,“發件人”或“退貨路徑”地址。 如果您的帳戶仍在沙盒中,則還必須驗證每個收件人電子郵件地址

在AWS中測試您的電子郵件發送而不需要發送實際電子郵件的更簡單方法是使用他們的郵箱模擬器

Amazon SES郵箱模擬器是一組測試電子郵件地址。 每個電子郵件地址代表特定方案。 您可以在以下情況下向郵箱模擬器發送電子郵件:

無需創建測試“收件人”地址即可測試您的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM