如果你阅读log4js documentation for SMTP appender,你会看到SMTP传输的例子,它甚至不适用于最新的节点制作者(我在写作时使用了nodemailer 1.3.0) )。
Docs将此错误配置显示为一个示例:
{ "appenders": [
{
"type": "smtp",
"recipients": "foo@bar.com",
"sendInterval": 60,
"transport": "SMTP",
"SMTP": {
"host": "smtp.gmail.com",
"secureConnection": true,
"port": 465,
"auth": {
"user": "foo@bar.com",
"pass": "bar_foo"
}
}
}
] }
如何更改配置以使用SMTP以外的传输?我想要的是配置log4js以使用SendGrid。
答案 0 :(得分:2)
经过几个小时的反复试验,我发现了解决方案。以下是带有控制台和smtp appender的示例log4js配置:
sendgridTransport = require('nodemailer-sendgrid-transport');
log4js.configure({
appenders: [{
type: 'console'
}, {
type: 'logLevelFilter',
level: 'ERROR',
appender: {
type: 'smtp',
recipients: 'admin@example.com',
sender: 'system@example.com',
sendInterval: 60,
transport: sendgridTransport({
auth: {
api_user: config.smtpUsername,
api_key: config.smtpPassword
}
})
}
}]
});
您可以以类似的方式使用任何其他传输方式。支持者传输是nodemailer支持的所有传输(例如:AWS SES,SMTP,...)。请参阅要使用的传输文档,以了解如何实例化它。