forked from abricos/smtpeshka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmtpeshka.js
52 lines (35 loc) · 1.14 KB
/
smtpeshka.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'use strict';
var path = require('path');
var HarakaConfig = require('./lib/HarakaConfig');
var _servers;
module.exports.start = function(callback){
var harakaConfig = new HarakaConfig();
harakaConfig.build(function(err, harakaConfigDir){
if (_servers){
return callback ? callback(_servers) : null;
}
var base = path.join(__dirname);
var webServerPath = path.join(base, 'lib/web/index.js');
// start web server
var webServer = require(webServerPath);
var harakaProgDir = path.join(base, 'node_modules/Haraka')
var harakaPath = path.join(harakaProgDir, 'server.js');
process.argv[1] = harakaPath;
process.env.HARAKA = harakaConfigDir;
// start SMTP Hakara server
var harakaServer = require(harakaPath);
harakaServer.createServer();
_servers = {
web: webServer,
haraka: harakaServer
};
return callback ? callback(_servers) : null;
});
};
module.exports.stop = function(){
if (!_servers){
return;
}
_servers.web.close();
_servers.haraka.close();
};