簡體   English   中英

Amazon SES-無法接收電子郵件

[英]Amazon SES - Can't get email to be delivered

我有一個運行node.js應用程序的aws ubuntu服務器。 我正在嘗試構建一個簡單的忘記密碼功能,該功能會向用戶發送電子郵件。 該代碼可以運行,但是沒有發送電子郵件,因此我認為我仍然缺少一些東西。

1)在SES中,我驗證了電子郵件域a2zcribbage.com。 我認為這意味着我現在可以從該域下的任何別名發送電子郵件了,對嗎?

2)我npm將SES模塊安裝到我的ec2服務器上。

3)我的代碼如下:

aws.config.update({accessKeyId: 'MYKEY', secretAccessKey: 'MYKEY', region: 'us-west-2'});
var ses = new aws.SES({apiVersion: '2010-12-01'}); // load AWS SES
var to = [post.email]; // send to list
var from = 'support@a2zCribbage.com'; // this must relate to a verified SES account
ses.sendEmail( { // this sends the email @todo - add HTML version
      Source: from, 
      Destination: { ToAddresses: to },
      Message: {
        Subject: { Data: 'a2zCribbage - Temporary Password' },
        Body: {
          Text: {
            Data: "Your username is: " + userName + ". Your temporary password is: " + tempPassword
          }
        }
      }
    }, function(err, data) { if (err) console.log(err); });

該代碼運行沒有錯誤,但是沒有發送電子郵件。 如果沒有錯誤,我該如何進一步調試呢?

我對您的問題的建議:

  1. 確保已將您從沙箱中刪除,為此,您需要聯系aws來擴展限制,這是任何aws帳戶的免費服務。

  2. 將真實郵箱直接注冊到SES,例如, support@a2zCribbage.com以測試代碼是否有效。

  3. 從代碼看來,您似乎錯過了加載AWS開發工具包。

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

  4. 創建SNS任務,為SMS或郵箱添加下標,在SES中啟用退回或投訴通知,然后您可以確認該設置是否正確。

讓我知道這是否可以幫助您解決問題。

我會在這里回答我自己的問題。 大家的好評。 我所缺少的一件事是,默認情況下,當您創建SES帳戶時,您會進入“沙盒”模式,而不是完全成熟的電子郵件發送模式,因此我試圖發送電子郵件,但不允許它。 一旦我要求我退出沙盒模式,一切都將正常進行。

暫無
暫無

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

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