DAO.find(new Conversation(), { id : insertedMessage.conversation }, function(errSelect, conversation) {

				if (errSelect) {
					return errors.throwServerError(req, res, errSelect);
				}

				var users = conversation[0].users;
				var header = i18n.get('mail_new_message_header');
				var mailContent = i18n.get('mail_new_message_content');

				mailContent = mailer.setParameter(mailContent, mailer.param.USER, req.session.userFirstname);
				mailContent = mailer.setParameter(mailContent, mailer.param.TITLE, conversation[0].titre);
				mailContent = mailer.setParameter(mailContent, mailer.param.CONTENT, insertedMessage.content);
				mailContent = mailer.setParameter(mailContent, mailer.param.URL, Routes.resolveUrl(req, Routes.CONVERSATION));

				console.log(mailContent);

				if (users && util.isArray(users)) {
					for (var i = 0; i < users.length; i++) {

						if (req.session.userId !== users[i].id) {
							mailer.sendMail(users[i].mail, header, mailContent);
						}
					}
				}

				res.send('OK');
			});
		DAO.persist(conversation, function(err, insertedRow) {

			if (err || !insertedRow) {
				logger.logError('An error occured while persisting entity "conversation" : ' + err);
				return errors.throwServerError(req, res, err);
			}

			var users = insertedRow.users;
			var header = i18n.get('mail_new_conversation_header');
			var mailContent = i18n.get('mail_new_conversation_content');

			mailContent = mailer.setParameter(mailContent, mailer.param.USER, req.session.userFirstname);
			mailContent = mailer.setParameter(mailContent, mailer.param.TITLE, insertedRow.titre);
			mailContent = mailer.setParameter(mailContent, mailer.param.CONTENT, conversationForm.messages[0].content);
			mailContent = mailer.setParameter(mailContent, mailer.param.URL, Routes.resolveUrl(req, Routes.CONVERSATION));

			if (users && util.isArray(users)) {

				for (var i = 0; i < users.length; i++) {

					if (req.session.userId !== users[i].id) {
						mailer.sendMail(users[i].mail, header, mailContent);
					}
				}
			}

			res.send('OK');
		});
Example #3
0
 it('should return smtp code 250 or OK if the email form data completely exists and gmail can be accessed', function (done) {
     mail.sendMail(mailform, config, function (error, response) {
         //testing the smtp response for the 250 OK response
         (response.message.indexOf("250") === -1 || response.message.indexOf("OK") === -1).should.equal(false);
         done();
     });
 });
Example #4
0
    app.post('/sendmail', function(req,res,next){
        console.log("/sendmail.js ");
        
        //validar datos
        var error = utils.sendMail(req.body, function(error){
                    res.send(error)
        });

    });
Example #5
0
function execute(req) {
	sysLogger.info('<apicontroller> <execute> order confirmation');
	var info = 'SID: ' + req.body.sid +  '\nType: ' +  req.body.type
				+ '\nSide: ' + req.body.side + '\nPrice: ' + req.body.price 
				+ '\nSize: ' + req.body.size + '\nOperation' + req.body.operation;   
	notifier.sendMail('Order Execution',  'Parameters: \n' +  info); 
	
	
}
Example #6
0
  return new Promise(function (resolve, reject) {
    var mailConfig = toMailConfig(toAddress, subject, htmlEmail, textEmail);

    mailer.sendMail(mailConfig, function(err, status) {
      if (err) {
        logger.error('error sending email: %s', String(err));
        return reject(err);
      }
      resolve(status);
    });
  });
Example #7
0
			}, function(callback) {
				if(typeof mail.html !== 'undefined') {
					mailer.sendMail(mail, user, function(err, response) {
						if (err) {
							callback(err);
						}
						if (response.substr(0, 12) === '250 2.0.0 OK') {
							callback();
						} else {
							callback('Mail not send');
						}
					});
				} else {
					callback();
				}
			}
Example #8
0
	inspect: function ( config, url, email ) {

		console.log( '[' + moment().format('YYYY-MM-DD HH:mm:ss') + '] ' + config.name + ' - ' + email );

		// check items in database
		var newItems		= [];
		var updatedItems	= [];

		try {

			var items = getItems( config, url );

			for ( var i in items ) {

				var item	= items[ i ];
				var found	= db.getDB( config.name + '-' + email ).find({ id: item.id });

				if ( !found ) {

					db.getDB( config.name + '-' + email ).push( item );
					newItems.push( item );

				} else if ( JSON.stringify( item ) !== JSON.stringify( found ) ) {

					for ( var j in item )
						found[ j ] = item[ j ];

					updatedItems.push( item );
				}
			}

			console.log(
				'[' + moment().format('YYYY-MM-DD HH:mm:ss') + '] ' +
				'found: ' + items.length + ', ' +
				'new: ' + newItems.length + ', ' +
				'updated: ' + updatedItems.length
			);

		} catch ( err ) {

			db.rollback( config, email, newItems, updatedItems );

			throw err;
		}

		mail.sendMail( config, url, email, newItems, updatedItems );
	}
Example #9
0
exports.contact = function (req, res, next) {
// Express request-handler now receives filtered and validated data
    var errs = [],
        mailSent = false,
        key = '';

    if (!req.form.isValid) {
        // pass errors on to user. this are only form errors, not email errors!
        errs = req.form.errors;
    } else {
        //send mail
        mail.sendMail(req.form, res.locals.config);
        mailSent = true;        //this actually says nothing. emails should be logged before sending.
    }

    res.render(req.app.get('theme') + '/pages/contact', {errs: errs, mailSent: mailSent, name: req.form.name});
};
Example #10
0
 remindArray.forEach((value) => {
   body = template(value);
   var mailConfig = {
     from: '*****@*****.**',
     to: value.email,
     subject: 'Your Emergency Disaster Plan as of: ' + now,
     html: body
   };
   email.sendMail(mailConfig, (err, info) => {
     if (err) return console.log(err);
     process.stdout.write('Message sent: ' + info.response + '\n');
   });
   value.reminderDate.setDate(value.reminderDate.getDate() + value.reminderFrequency);
   var updateData = Object.assign({}, value.toObject());
   delete updateData._id;
   Plan.update({ _id: value._id }, updateData, (err) => {
     if (err) return console.log(err);
     console.log('updated successfully');
   });
 });
 async.eachSeries(result, function(data, cb){
   if (data.profile && data.profile.email && data.profile.name) {
     data.emailAddress = data.profile.email;
     data.name = data.profile.name;
     data.inactiveMonths = months;
     data.primaryEmailAddress = data.username + '@' + map[data.domain];
     mailer.sendMail(template, 'Inactive Account Notification', data.emailAddress, data)
       .then(function(){
         return updateLastNotified(col, data)
       })
       .then(function(){
         return cb();
       })
       .catch(function(err){
         throw err;
         process.exit();
       })
   } else {
     return cb();
   }
 }, function(err){
Example #12
0
	this.write=function(){
		//console.log(this.tableName); 
		//console.log(self.tableName);
		
		// DailyWork.insert(self.tableName,{'name':'fuhui2','tel':'18311289226'},function(ret){
			// console.log(ret);
		// });
		
		// DailyWork.modify(self.tableName,{'name':'fuhui'},{$set:{'name':'fuhui2'}},function(ret){
			// console.log(ret);
		// });
		// DailyWork.remove(self.tableName,{'name':'fuhui'},function(ret){
			// console.log(ret);
		// });
		// DailyWork.findOneByID(self.tableName,{'name':'fuhui2'},function(ret){
			// console.log(ret);
		// });
                email.sendMail("*****@*****.**","任何事情都不会那么简单","要坚持和努力的还有很多,还会有很长的一段时间是这种状态,做好打持久战的准备");
		console.log("is can fetch:"+this.tableName);
		console.log("this table name");
		
		// console.log(123);
	};
Example #13
0
                    users.forEach(function(user) {
                        // soll dieser Benutzer auch wirklich benachrichtigt werden?
                        var userShouldBeNotified =
                            _.indexOf(todo.users_to_notify, (user._id+'')) >= 0;

                        if(userShouldBeNotified) {
                            logger.cronlog('    ===> NOTIFYING USER: '******' about Todo `' + todo.title + '`' +
                                ' settings: ' + JSON.stringify(user.notify_settings));

                            // set i18n locale based on the user's language
                            i18n.setLocale(user.lang);

                            // get the notify message
                            pushMessage    = i18n.__('notificationMailBody', todo.title, todolist.title, todo.notice);

                            // apn extra message - kein html ! -> status 7 - "Invalid payload size"
                            pushMessageAPN = i18n.__('notificationMailBodyAPN', todo.title, todolist.title);

                            // --- 1. "In-APP" via socket IO: IMMER!
                            // socketIOController.pushToUser(user, 'push_notification', {body: pushMessage}, req);

                            // --- 2. via email
                            if(user.notify_settings.email) {
                                utils.sendMail(
                                    config[ENV].ADMIN_EMAIL,
                                    user.email,
                                    i18n.__('notificationMailSubject'),
                                    pushMessage
                                );
                            }

                            // --- 3. Via PUSH
                            application.sendAPN_PUSH(user,  pushMessageAPN);
                            application.send_GCM_PUSH(user, pushMessageAPN);
                        }
                    });