forked from nodemailer/nodemailer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sendmail.js
30 lines (25 loc) · 850 Bytes
/
sendmail.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var exec;
try{
exec = require('child_process').exec;
}catch(E){
// probably on Windows Node.js v0.5.0 - v0.5.2
}
exports.send = function(emailMessage, config, callback) {
emailMessage.prepareVariables();
if(!exec){
return callback(new Error("No support for child processes in this version of Node.JS, use SMTP instead"));
}
var headers = emailMessage.generateHeaders(),
body = emailMessage.generateBody();
var path = typeof config=="string"?config:"sendmail";
exec('echo "'+(headers+"\r\n\r\n"+body).replace(/"/g,'\\"')+'" | '+path+" -t", function(error){
process.nextTick(function(){
if(error){
callback && callback(error, null);
}else{
callback && callback(null, true);
}
});
});
return;
};