mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-01-26 09:09:25 +01:00
feat(tickets): write mail ticket info db
This commit is contained in:
8
config/env/development.js
vendored
8
config/env/development.js
vendored
@@ -57,13 +57,13 @@ module.exports = {
|
||||
sandbox: true
|
||||
},
|
||||
mailer: {
|
||||
from: process.env.MAILER_FROM || 'admin@mean.im',
|
||||
from: process.env.MAILER_FROM || 'service.mine.pt@gmail.com',
|
||||
options: {
|
||||
service: process.env.MAILER_SERVICE_PROVIDER || 'service name like as: Gmail',
|
||||
service: process.env.MAILER_SERVICE_PROVIDER || 'Gmail',
|
||||
imap: process.env.MAILER_IMAP || 'imap.gmail.com',
|
||||
auth: {
|
||||
user: process.env.MAILER_EMAIL_ID || 'example@gmail.com',
|
||||
pass: process.env.MAILER_PASSWORD || 'mail password'
|
||||
user: process.env.MAILER_EMAIL_ID || 'service.mine.pt@gmail.com',
|
||||
pass: process.env.MAILER_PASSWORD || 'minept740729'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
2
config/env/torrents.js
vendored
2
config/env/torrents.js
vendored
@@ -25,7 +25,7 @@ module.exports = {
|
||||
app: {
|
||||
name: 'MEAN.im',
|
||||
domain: 'http://localhost:3000',
|
||||
mailTicketService: false,
|
||||
mailTicketService: true,
|
||||
showDemoWarningPopup: true,
|
||||
cronTimeZone: 'Asia/Shanghai',
|
||||
showDebugLog: false
|
||||
|
||||
@@ -284,10 +284,57 @@ function listenServiceEmail() {
|
||||
simpleParser(client.createMessageStream(message.UID), function (err, mail_object) {
|
||||
client.addFlags(message.UID, ['\\Seen'], function (err, flags) {
|
||||
console.log(chalk.blue('Check-out ' + (isNew ? 'new' : 'unseen') + ' email from ' + config.mailer.options.auth.user));
|
||||
console.log('From: ', mail_object.from.text);
|
||||
console.log('Subject: ', mail_object.subject);
|
||||
// console.log('Text body:', mail_object.text);
|
||||
console.log('Add flag: ', flags);
|
||||
// console.log(mail_object);
|
||||
|
||||
// write unseen/new message into mail-tickets db table
|
||||
if (mail_object.references) { //reply message
|
||||
MailTicket.findOne({
|
||||
messageId: mail_object.references[0]
|
||||
}, function (err, m) {
|
||||
if (!err && m) {
|
||||
var subTicket = new MailTicket();
|
||||
subTicket.messageId = mail_object.messageId;
|
||||
subTicket.from = mail_object.from.text;
|
||||
subTicket.to = config.mailer.options.auth.user;
|
||||
subTicket.title = mail_object.subject;
|
||||
subTicket.content = mail_object.text;
|
||||
|
||||
m._replies.push(subTicket);
|
||||
m.save(function (err) {
|
||||
if (err) {
|
||||
mtDebug.debugError('write reply mail ticket info db failed!');
|
||||
} else {
|
||||
console.log('From: ', mail_object.from.text);
|
||||
console.log('MessageId: ', mail_object.messageId);
|
||||
console.log('References: ', mail_object.references ? mail_object.references[0] : 'origin');
|
||||
console.log('Subject: ', mail_object.subject);
|
||||
// console.log('Text body:', mail_object.text);
|
||||
// console.log('Add flag: ', flags);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else { //new message
|
||||
var newTicket = new MailTicket();
|
||||
newTicket.messageId = mail_object.messageId;
|
||||
newTicket.from = mail_object.from.text;
|
||||
newTicket.to = config.mailer.options.auth.user;
|
||||
newTicket.title = mail_object.subject;
|
||||
newTicket.content = mail_object.text;
|
||||
|
||||
newTicket.save(function (err) {
|
||||
if (err) {
|
||||
mtDebug.debugError('write new mail ticket info db failed!');
|
||||
} else {
|
||||
console.log('From: ', mail_object.from.text);
|
||||
console.log('MessageId: ', mail_object.messageId);
|
||||
console.log('References: ', mail_object.references ? mail_object.references[0] : 'origin');
|
||||
console.log('Subject: ', mail_object.subject);
|
||||
// console.log('Text body:', mail_object.text);
|
||||
// console.log('Add flag: ', flags);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,6 +10,11 @@ var mongoose = require('mongoose'),
|
||||
* Ticket Schema
|
||||
*/
|
||||
var MailTicketSchema = new Schema({
|
||||
messageId: {
|
||||
type: String,
|
||||
default: '',
|
||||
trim: true
|
||||
},
|
||||
from: {
|
||||
type: String,
|
||||
default: '',
|
||||
@@ -43,7 +48,7 @@ var MailTicketSchema = new Schema({
|
||||
|
||||
status: {
|
||||
type: Number,
|
||||
default: 0 //0 new, 1 handling, 2 solved
|
||||
default: 0 //0 open(waiting handling), 1 wait(waiting reply), 2 solved
|
||||
},
|
||||
createdAt: {
|
||||
type: Date,
|
||||
|
||||
@@ -41,7 +41,7 @@ var MessageTicketSchema = new Schema({
|
||||
|
||||
status: {
|
||||
type: Number,
|
||||
default: 0 //0 new, 1 handling, 2 solved
|
||||
default: 0 //0 open(waiting handling), 1 wait(waiting reply), 2 solved
|
||||
},
|
||||
createdAt: {
|
||||
type: Date,
|
||||
|
||||
Reference in New Issue
Block a user