2014-12-04 5 views
2

노드에서 전자 메일을 보내는 데 경험이 없으므로 선택할 수있는 옵션이 다릅니다. 다음 시나리오에서 어떤 옵션을 사용할 수 있습니까? sengrid와노드 - 전자 메일, sendgrid 및 nodemailer 중 하나를 보내거나 결합하는 옵션

사용하여 노드 메일 발송 :
내가 함께 일을 강제로 추가 패키지 "nodemailer-sendgrid-transport"을 추가해야 볼 수 있듯이.
var transporter = nodemailer.createTransport({ service: 'SendGrid', auth: {...});이 작동하지 않으므로. nodemailer 패키지없이 단지 sendgrid 모듈을 사용 (항상 반환 잘못된 사용자 이름/암호)

var nodemailer  = require('nodemailer'), 
    sendGridTransport = require('nodemailer-sendgrid-transport'); 

var options = { 
    auth: { 
     api_user: 'blabla', 
     api_key: 'blabla' 
    } 
}; 
var client = nodemailer.createTransport(sendGridTransport(options)); 

var email = { 
    to: ['[email protected]', '[email protected]'], 
    from: '[email protected]', 
    subject: 'Hi there', 
    text: 'Awesome sauce', 
    html: '<b>Awesome sauce</b>' 
}; 

client.sendMail(email, function(err, info) { ... }); 

: 그래서 두 번째 예와

var sendgrid = require('sendgrid')('blabla', 'blabla'); 

var email = { 
    to: ['[email protected]', '[email protected]'], 
    from: '[email protected]', 
    subject: 'Hi there', 
    text: 'Awesome sauce', 
    html: '<b>Awesome sauce</b>' 
}; 

sendgrid.send(email, function(err, json) { ... }); 

내가 먼저 접근 한 패키지 (sengrid)를 포함 전 두 개의 패키지 (nodemailer 및 nodemailer-sendgrid-transport)를 포함해야합니다. 나는 첫 번째 접근법이 다른 어떤 서비스 전송 (예를 들어 gmail)으로 업데이트하거나 완전히 전환 할 수 있다는 점에서 두 번째보다 더 큰 추상화를 볼 수 있을까? 그러나 다른 한편으로는 다른 전송 객체간에 전환하는 것이 적절한 상황을 보지 못합니다.

부탁드립니다.이 모든 것은이 솔루션과 함께 템플릿을 사용하는 방법입니다. 나는 공식적인 가이드에서 템플릿에 대해서 아무것도 보지 않는다. https://github.com/sendgrid/sendgrid-nodejs도 아니다 : https://github.com/andris9/Nodemailer :

이메일 템플릿은 이것과 나는 그것을 다룰 새로운 패키지를 설치해야한다.
결국 나는 매우 지체 된 질문을 게시하는 것처럼 느낀다.

답변

2

나는 문제없이 Mandrill과 함께 nodemailer를 사용했습니다.

내 경우에 작동하는 코드입니다,하지만 당신은 당신에없는 mentione :

// Create a SMTP transport object 
var transport = nodemailer.createTransport("SMTP", { 
    service: mainConfigFile.smtpServer.service, // use well known service 
    auth: { 
     user: mainConfigFile.smtpServer.user, 
     pass: mainConfigFile.smtpServer.pass 
    } 
}); 

자격 증명이 mainConfigFile에 저장되어 있습니다,하지만 의도 무엇인지 분명하다.

당신은 nodemailer로 괜찮을 거라고 생각합니다.

오류에 대한 자세한 내용을 제공해 줄 수 있습니까?