【问题标题】:How to use non SMTP transport in log4js smtp appender?如何在 log4js smtp appender 中使用非 SMTP 传输?
【发布时间】:2015-06-11 09:24:02
【问题描述】:

如果您阅读 log4js documentation for SMTP appender,您会看到 SMTP 传输的示例,该示例甚至不适用于最新的 nodemailer(我在撰写本文时使用的是 nodemailer 1.3.0)。

文档以这个错误的配置为例:

{ "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。

【问题讨论】:

    标签: node.js sendgrid log4js-node


    【解决方案1】:

    经过几个小时的反复试验,我找到了解决方案。这是带有控制台和 smtp 附加程序的示例 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、...)。请参阅您要使用的传输文档以了解如何实例化它。

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      相关资源
      最近更新 更多