• Как получить список писем в Node.js?

    Владимир Коротенко, я же не автор вопроса, как я могу как ответ оформить?
  • Как получить список писем в Node.js?

    Владимир Коротенко, нашел решение, надо просто вместо пароля от ящика вставить пароль для внешних приложений и все заработало. У меня стоит Imap, но для pop3 думаю примерно так же будет работать судя по описанию на Mail.RU

    Пришло письмо c ИВЦ [object Object]
    C:\Users\VASHDO~1\AppData\Local\Temp\epls9005.txt
    Not file name
    EXIT
    К письму не приложенны файлы для разбора [ { address: 'finance@cleanf.ru', name: 'Статус - Пополнение' } ]
    К письму не приложенны файлы для разбора [ { address: 'security@id.mail.ru', name: 'Mail.ru' } ]
    Message #1262
    Message #4994
    К письму не приложенны файлы для разбора [ { address: 'promo@chitai-gorod.ru', name: 'Читай-город' } ]
    Message #1263
    Message #1264
    К письму не приложенны файлы для разбора [ { address: 'info@i-on.ru', name: 'НОУ-ХАУ' } ]
    К письму не приложенны файлы для разбора [ { address: 'support@zaymot.ru', name: 'Возврат средств' } ]
    К письму не приложенны файлы для разбора [ { address: 'security@id.mail.ru', name: 'Mail.ru' } ]
    Message #1265
    Message #4995
    Message #1266
    Message #1267
    Message #4996
    ZIbraimova@alseco.kz
    UNARCHIVE
    Пришло письмо c ALSECO [object Object]


    $ yarn start
    yarn run v1.22.19
    $ ts-node ./src/index.ts
    FETCH [
      16933, 16934, 16935, 16936, 16937, 16938, 16939, 16940,
      16941, 16942, 16943, 16944, 16945, 16946, 16947, 16948,
      16949, 16950, 16951, 16952, 16953, 16954, 16955, 16956,
      16957, 16958, 16959, 16960, 16961, 16962, 16963, 16965,
      16966, 16967, 16968, 16969, 16970, 16971, 16972, 16973,
      16974, 16975, 16976, 16977, 16978, 16979, 16980, 16981,
      16982, 16983, 16984, 16985, 16986, 16987, 16988, 16989,
      16990, 16991, 16992, 16993, 16994, 16995, 16996, 16997,
      16998, 16999, 17000, 17001, 17002, 17003, 17004, 17005,
      17006, 17008, 17009, 17010, 17011, 17012, 17013, 17014,
      17015, 17016, 17017, 17018, 17019, 17020, 17021, 17022,
      17023, 17024, 17025, 17026, 17027, 17028, 17029, 17030,
      17031, 17032, 17033, 17034,
      ... 242 more items
    ]
    FETCH [
      6912, 6913, 6914, 6915, 6916, 6917, 6919, 6920, 6922, 6923,
      6924, 6925, 6926, 6927, 6928, 6929, 6930, 6931, 6932, 6933,
      6934, 6935, 6936, 6937, 6938, 6939, 6940, 6941, 6942, 6943,
      6944, 6945, 6946, 6947, 6948, 6949, 6950, 6951, 6952, 6953,
      6954, 6955, 6956, 6957, 6958, 6959, 6960, 6961, 6962, 6963,
      6964, 6965, 6966, 6967, 6968, 6969, 6970, 6971, 6973, 6974,
      6975, 6976, 6977, 6978, 6979, 6980, 6981, 6982, 6983, 6984,
      6985, 6986, 6987, 6988, 6989, 6990, 6991, 6992, 6993, 6994,
      6995, 6996, 6997, 6998, 6999, 7000, 7001, 7002, 7003, 7004,
      7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014,
      ... 48 more items
    ]
    NOTHING
    Message #1255
    Message #1256
    Message #1257
    mvika@ivc.kz
    Пришло письмо c ИВЦ [object Object]


    Сам код примерно такой

    addAccount(address, host, port, login, password, tls, format, token) {
            const acc = new ImapConnection( {
                user: login,
                password: token,
                host,
                port,
                tls
            });
            acc.format = format
            this.accounts.push(acc)
        }
    
        exec() {
            this.accounts.forEach(acc => {
                acc.connect()
                acc.on('ready', _ => {
                    acc.openBox("INBOX", false, _ => {
                        //this.parseMail(null, acc)
                    })
    
                })
                acc.on('mail', id => {
                    this.parseMail(id, acc)
                })
            });
        }


    Извиняюсь, что без редакции, но просто получилось, что и хотел, там дальше с обработкой самих писем разбираться надо, поэтому второпях.

    Если надо на POP3 переделать, то оно делается примерно аналогично, код могу примерный набросать, если кому надо. Могу поделиться тем, что уже написано, чтобы переделать под себя
  • Как подключиться к imap gmail?

    AUser0, нашел решение, надо просто вместо пароля от ящика вставить пароль для внешних приложений и все заработало

    Пришло письмо c ИВЦ [object Object]
    C:\Users\VASHDO~1\AppData\Local\Temp\epls9005.txt
    Not file name
    EXIT
    К письму не приложенны файлы для разбора [ { address: 'finance@cleanf.ru', name: 'Статус - Пополнение' } ]
    К письму не приложенны файлы для разбора [ { address: 'security@id.mail.ru', name: 'Mail.ru' } ]
    Message #1262
    Message #4994
    К письму не приложенны файлы для разбора [ { address: 'promo@chitai-gorod.ru', name: 'Читай-город' } ]
    Message #1263
    Message #1264
    К письму не приложенны файлы для разбора [ { address: 'info@i-on.ru', name: 'НОУ-ХАУ' } ]
    К письму не приложенны файлы для разбора [ { address: 'support@zaymot.ru', name: 'Возврат средств' } ]
    К письму не приложенны файлы для разбора [ { address: 'security@id.mail.ru', name: 'Mail.ru' } ]
    Message #1265
    Message #4995
    Message #1266
    Message #1267
    Message #4996
    ZIbraimova@alseco.kz
    UNARCHIVE
    Пришло письмо c ALSECO [object Object]
  • Как подключиться к imap gmail?

    Это как раз как у меня настроено сейчас, без xoauth2. Теперь, когда нужен oauth2 надо же через base64 его перекодировать или нет?
    63d3aa5467d7d088147339.png

    addAccount(address, host, port, login, password, tls, format, token) {
            
    
            const acc = new ImapConnection( {
                user: login,
                password,
                host,
                port,
                tls
            });
            acc.format = format
            this.accounts.push(acc)
        }
  • Как подключиться к imap gmail?

    AUser0, я сам код как его использовать не могу найти, что именно его использовать надо я уже понял)))
  • Как подключиться к imap gmail?

    AUser0, как я понял уже не работает, пытаюсь подключиться к Mail.RU, но дает ссылку на сайт (https://help.mail.ru/mail/security/protection/external), чтобы подключаться через ключ. Ключ создал, но как при помощи библиотеки imap в node js подключиться не нашел
    D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Connection.js:1502
        err = new Error(errtext);
              ^
    Error: NEOBHODIM parol prilozheniya https://help.mail.ru/mail/security/protection/external / Application password is REQUIRED
        at Connection._resTagged (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Connection.js:1502:11)
        at Parser.<anonymous> (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Connection.js:194:10)
        at Parser.emit (node:events:513:28)
        at Parser.emit (node:domain:489:12)
        at Parser._resTagged (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:175:10)
        at Parser._parse (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:139:16)
        at Parser._tryread (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:82:15)
        at TLSSocket.Parser._cbReadable (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:53:12)
        at TLSSocket.emit (node:events:513:28)
        at TLSSocket.emit (node:domain:489:12) {
      type: 'no',
      textCode: 'AUTHENTICATIONFAILED',
      source: 'authentication'
    }
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  • Как получить список писем в Node.js?

    Mail.RU уже точно не поддерживает, если действительно стороннее приложение, по паролю только с сайта можно заходить и то там уже двухэтапная аутентификация. Imap метод auth2 поддерживает, я просто я не смог разобраться с refreshToken и accessToken. Для майл ру есть политики идентификации, но они для пакета password, что моем случае либо не подходит, либо еще не понял до конца, как его правильно "прикрутить". Как решу проблему я дополню ответ. Спасибо за участие!

    KSU.Email\node_modules\imap\lib\Connection.js:1502
        err = new Error(errtext);
              ^
    Error: NEOBHODIM parol prilozheniya https://help.mail.ru/mail/security/protection/external / Application password is REQUIRED
        at Connection._resTagged (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Connection.js:1502:11)
        at Parser.<anonymous> (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Connection.js:194:10)
        at Parser.emit (node:events:513:28)
        at Parser.emit (node:domain:489:12)
        at Parser._resTagged (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:175:10)
        at Parser._parse (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:139:16)
        at Parser._tryread (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:82:15)
        at TLSSocket.Parser._cbReadable (D:\Distr\KSU_Projects\KSU.Email\node_modules\imap\lib\Parser.js:53:12)
        at TLSSocket.emit (node:events:513:28)
        at TLSSocket.emit (node:domain:489:12) {
      type: 'no',
      textCode: 'AUTHENTICATIONFAILED',
      source: 'authentication'
    }
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  • Как получить список писем в Node.js?

    Да, и еще, сейчас где-то в декабре-ноябре перенастроили почтовые клиенты (Outlook, просто на всех компьютерах в офисе), иначе почта не собиралась, и сейчас вроде у всех крупных почтовых сервисов именно так. Что тут гадать, просто не отслеживаете эту ситуацию, поэтому не в курсе, так как в апреле еще все работало, а сейчас уже нет. Как починю свое приложение, так как там задача именно такая же - выложу правильное актуальное решение
  • Как получить список писем в Node.js?

    Ошибка говорит, что REQUIRED PASSWORD, потому что теперь можно подключиться только по токену и почти везде так, так что Ваш ответ уже очень не актуален))) всего-то 8 месяцев прошло, хотя вроде с октября почти у всех политика поменялась.
  • Как получить список писем в Node.js?

    Только так теперь не работает с каким-нибудь Mail.RU и давно так не работает в gmail. Какие еще есть предложения?