Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var MailListener = require("mail-listener2");
- var nodemailer = require("nodemailer");
- /**
- * Mail helper object.
- * @constructor
- */
- var MailHelper = function() {
- this.mailListenerStart = function (emailSubject) {
- var searchCriteria = ['ALL', ['TEXT', emailSubject]];
- var mailListener = new MailListener({
- username: "qa.ddi.mail@gmail.com",
- password: "dkccaakxhikbpqbc",
- host: "imap.gmail.com",
- port: 993, // imap port
- tls: true,
- mailbox: "INBOX", // mailbox to monitor
- searchFilter: searchCriteria,
- markSeen: true, // all fetched email willbe marked as seen and not fetched next time
- fetchUnreadOnStart: false // use it only if you want to get all unread email on lib start. Default is `false`,
- });
- mailListener.on("server:connected", function () {
- console.log("imapConnected");
- });
- mailListener.on("server:disconnected", function () {
- console.log("imapDisconnected");
- });
- (function () {
- var count = 0;
- mailListener.on("mail", function (mail, seqno, attributes) {
- var mailuid = attributes.uid,
- i = ++count;
- mailListener.imap.addFlags('1:*', '\\Deleted', function (err) {
- if (err) {
- console.log('error marking ALL messages as DELETED');
- return;
- }
- });
- if (i > 20) {
- mailListener.stop(); // start listening
- return;
- }
- mailListener.imap.addFlags(mailuid, '\\Deleted', function (err) {
- if (err) {
- console.log('error marking message as DELETED');
- return;
- }
- });
- });
- })();
- mailListener.start(); // start listening
- global.mailListener = mailListener;
- setTimeout(function () {
- mailListener.stop(); // stop listening
- }, 120 * 1000);
- };
- this.getLastEmail = function () {
- var deferred = protractor.promise.defer();
- mailListener.on("mail", function(mail){
- deferred.fulfill(mail);
- });
- return deferred.promise;
- };
- /**
- * Sending message about error
- *
- */
- this.sendEmail = function (subject, text, html) {
- var mailTo = process.env.MAIL_TO;
- // var mailTo = 'nikolay.ponorets@gmail.com';
- var transporter = nodemailer.createTransport({
- service: 'gmail',
- auth: {
- user: "qa.ddi.mail@gmail.com",
- pass: "dkccaakxhikbpqbc"
- // user: "dditestuser@gmail.com",
- // pass: "ddipass2017"
- }
- });
- var mailOptions = {
- from: "qa.ddi.mail@gmail.com", // sender address
- // from: "dditestuser@gmail.com", // sender address
- to: mailTo,
- subject: subject, // Subject line
- text: text, // plaintext body
- html: html // html body
- };
- transporter.sendMail(mailOptions, function (error, response) {
- if (error) {
- console.log(error);
- } else {
- console.log("Message sent: " + response.message);
- }
- transporter.close();
- });
- return true;
- };
- };
- module.exports = new MailHelper();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement