来自 NodeJS 的 AWS SES 未签署 DKIM?

AWS SES from NodeJS not DKIM signed?

我正在使用 nodemailer 通过 SES 发送电子邮件

const nodemailer = require('nodemailer')
const sesTransport = require('nodemailer-ses-transport')

const transporter = nodemailer.createTransport(sesTransport({
  accessKeyId: '...',
  secretAccessKey: '...',
  region: 'us-east-1'
}))

当我尝试从 AWS SES 仪表板发送测试电子邮件时,它起作用了。但是当我通过代码发送时,它会变成垃圾邮件。我已经按照 "enable easy DKIM" http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html. When I check the verification status of DKIM on AWS Dashboard, its verified. Do I need to explicitly sign emails when sending via code? In the example from https://nodemailer.com/dkim/ 的步骤操作了,我需要一个私钥。它是哪个私钥?我从哪里得到它?另外,我应该在 domainName 和 keySelector 中输入什么值?

let transporter = nodemailer.createTransport({
    service: 'Gmail',
    dkim: {
        domainName: 'example.com',
        keySelector: '2017',
        privateKey: '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBg...'
    }
});

好的,我可以关闭它了。 nodemailer 似乎没有使用 DKIM 正确地签署电子邮件。直接使用 AWS SDK 并调用 setIdentityDkimEnabled 来启用 D​​KIM 可以解决问题。