2015-04-06 3 views
1

Если вы читаете log4js , вы увидите пример для транспорта SMTP, который даже не работает с последним nodemailer (я использую nodemailer 1.3.0 во время написания).Как использовать не SMTP-транспорт в log4js smtp appender?

Docs показать это плохой конфигурации в качестве примера:

{ "appenders": [ 
    { 
     "type": "smtp", 
     "recipients": "[email protected]", 
     "sendInterval": 60, 
     "transport": "SMTP", 
     "SMTP": { 
      "host": "smtp.gmail.com", 
      "secureConnection": true, 
      "port": 465, 
      "auth": { 
       "user": "[email protected]", 
       "pass": "bar_foo" 
      } 
     } 
    } 
] } 

Как изменить конфигурации использовать транспорт, кроме SMTP? Я хочу настроить log4js для работы с SendGrid.

ответ

2

После нескольких часов проб и ошибок я узнал об этом решении. Вот пример конфигурации log4js с консольными и Smtp appenders:

sendgridTransport = require('nodemailer-sendgrid-transport'); 

log4js.configure({ 
    appenders: [{ 
     type: 'console' 
    }, { 
     type: 'logLevelFilter', 
     level: 'ERROR', 
     appender: { 
      type: 'smtp', 
      recipients: '[email protected]', 
      sender: '[email protected]', 
      sendInterval: 60, 
      transport: sendgridTransport({ 
       auth: { 
        api_user: config.smtpUsername, 
        api_key: config.smtpPassword 
       } 
      }) 
     } 
    }] 
}); 

Вы можете использовать любой другой транспорт аналогичным образом. Транспортировка Supporter - это все, что поддерживается nodemailer (например: AWS SES, SMTP, ...). См. Документацию для транспорта, которую вы хотите использовать, чтобы узнать, как ее создать.

Смежные вопросы