wildduck/examples/append.js

48 lines
1.1 KiB
JavaScript

/* eslint no-console:0 */
'use strict';
const rawpath = process.argv[2];
const config = require('wild-config');
const { ImapFlow } = require('imapflow');
const raw = require('fs').readFileSync(rawpath);
console.log('Processing %s of %s bytes', rawpath, raw.length);
const client = new ImapFlow({
host: '127.0.0.1',
port: config.imap.port,
secure: config.imap.secure,
auth: {
user: 'myuser',
pass: 'verysecret'
},
tls: {
rejectUnauthorized: false
},
clientInfo: {
name: 'My Client',
version: '0.1'
}
});
client.on('error', err => {
console.log(err);
process.exit(1);
});
client
.connect()
.then(() => client.append('INBOX', raw))
.then(() => client.mailboxOpen('INBOX'))
.then(mailbox => client.fetchOne(mailbox.exists, { bodyStructure: true, source: true }))
.then(data => {
console.log(data);
console.log('<<<%s>>>', data.source.toString());
return process.exit(0);
})
.catch(err => {
console.log(err);
process.exit(1);
});