var util = require('util');
var event = require('events');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTansport("SMTP", {
service: "GMAIL",
auth: {
user : "[email protected]",
pass : "pass"
}
});
mail.exports = function(from, to, subject ...){
this.from = from;
this.to = to;
this.subject = subject;
....
this.send = function(){
var options = {
from = this.from;
to = this.to;
};
var obj = this.send;
event.Eventemitter.call(obj);
smtpTransport.sendMail(options, function(err, success) {
if(err){
obj.emit('error', err);
}
if(success){
obj.emit('success', success);
}
});
}
};
을 사용하는 대신 보낼 때 나는 이벤트 오류 및 성공을 만들려는 일부에 내가이를 메일을 보낼 nodemail 사용
서비스
var Mail = require('./mail');
var mail = new Mail();
mail.from = "[email protected]";
mail.to = "[email protected]";
...
mail.send(); //the mail is send
메일 보낼 것입니다하지만 난 FOLLO
메일 전송 여부를
mail.send()
.on("error", function(err){
console.log("Mail not send");
})
.on("success", function(success){
console.log("Mail send");
});
나도 몰라 그런 다음
var util = require('util');
var events = require('events');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTansport("SMTP", {
service: "GMAIL",
auth: {
user : "[email protected]",
pass : "pass"
}
});
module.exports = function(from, to, subject){
this.from = from;
this.to = to;
this.subject = subject;
this.events = new events.EventEmitter();
//....
this.send = function(){
var options = {
from : this.from,
to : this.to
};
smtpTransport.sendMail(options, function(err, success) {
if(err){
this.events.emit('error', err);
}
if(success){
this.events.emit('success', success);
}
});
}
};
를 같이 사용 : 다음 TUTO을 결혼 http://www.sitepoint.com/nodejs-events-and-eventemitter/
정확히 어디 당신이 콜백을 추가? 전자 메일을 보내기 전에 성공 및 오류 콜백이 등록되어 있는지 확인하고 싶을 것입니다. –
mail.send()를 실행할 때 메일이 전송되었는지 여부를 알 수 없습니다. 그래서 나는 smtpTransport.sendMail()을 실행할 때 이벤트 에러와 성공을 추가하고 싶다. 따라서 mail.send()에서 오류 및 성공을 청취 할 때 메일이 전송되었는지 여부를 알 수 있습니다. – goten
이 작업을 @goten에서 처리 할 수 있었습니까? –