来自NodeJS的AWS SES未签署DKIM?

时间:2017-02-24 02:47:00

标签: node.js amazon-web-services amazon-ses

我正在使用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仪表板发送测试电子邮件时,它可以正常工作。但是,当我通过代码发送时,它会进入垃圾邮件。我已经按照“启用简易DKIM”http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html的步骤进行了操作。当我在AWS Dashboard上检查DKIM的验证状态时,已经过验证。通过代码发送时是否需要明确签署电子邮件?在https://nodemailer.com/dkim/的示例中,我需要一个私钥。哪个私钥是?我从哪里得到它?还有什么值放入domainName和keySelector?

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

1 个答案:

答案 0 :(得分:0)

好的,我可以关闭它。似乎nodemailer没有使用DKIM正确签署电子邮件。直接使用AWS SDK并调用setIdentityDkimEnabled启用DKIM修复问题。