mail esm 1/2
This commit is contained in:
parent
9f4a3974c9
commit
c8300d0648
@ -70,7 +70,7 @@ export const draft = async (subject, html, options) => {
|
|||||||
...options
|
...options
|
||||||
};
|
};
|
||||||
// Append the draft to the 'Drafts' folder
|
// Append the draft to the 'Drafts' folder
|
||||||
await client.append('Drafts', draftMessage, { flags: ['\Draft'] });
|
await client.append('Drafts', draftMessage, ['\\Draft']);
|
||||||
console.log('Draft created successfully.');
|
console.log('Draft created successfully.');
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
@ -103,4 +103,4 @@ getMessagesFromInboxWithFilter(config, fromAddress, toAddress)
|
|||||||
console.error('Error:', err);
|
console.error('Error:', err);
|
||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ltYXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQVVuQyxLQUFLLFVBQVUsOEJBQThCLENBQUMsVUFBc0IsRUFBRSxXQUFtQixFQUFFLFNBQWlCO0lBQ3hHLE1BQU0sTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDO1FBQ3hCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtRQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ3RCLElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVE7U0FDNUI7S0FDSixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUM7UUFDRCw2QkFBNkI7UUFDN0IsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUM7WUFDRCw0RkFBNEY7WUFDNUYsTUFBTSxjQUFjLEdBQUc7Z0JBQ25CLElBQUksRUFBRSxXQUFXO2dCQUNqQixFQUFFLEVBQUUsU0FBUzthQUNoQixDQUFDO1lBRUYsNENBQTRDO1lBQzVDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFFdEcsMERBQTBEO1lBQzFELElBQUksS0FBSyxFQUFFLElBQUksT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFD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
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ltYXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQVVuQyxLQUFLLFVBQVUsOEJBQThCLENBQUMsVUFBc0IsRUFBRSxXQUFtQixFQUFFLFNBQWlCO0lBQzFHLE1BQU0sTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDO1FBQzFCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtRQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ3RCLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVE7U0FDMUI7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUM7UUFDSCw2QkFBNkI7UUFDN0IsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUM7WUFDSCw0RkFBNEY7WUFDNUYsTUFBTSxjQUFjLEdBQUc7Z0JBQ3JCLElBQUksRUFBRSxXQUFXO2dCQUNqQixFQUFFLEVBQUUsU0FBUzthQUNkLENBQUM7WUFFRiw0Q0FBNEM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUV0RywwREFBMEQ7WUFDMUQsSUFBSSxLQUFLLEVBQUUsSUFBSSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7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
|
||||||
@ -24,7 +24,7 @@ const sendHtmlEmail = async ({ from, to, subject, html, attachments }, transport
|
|||||||
};
|
};
|
||||||
export const test = async (options) => {
|
export const test = async (options) => {
|
||||||
const config = CONFIG_DEFAULT();
|
const config = CONFIG_DEFAULT();
|
||||||
logger.setSettings({ minLevel: options.logLevel || 'info' });
|
logger.settings.minLevel = (options.logLevel || 'info');
|
||||||
const transport = config?.email[options.transport];
|
const transport = config?.email[options.transport];
|
||||||
if (!transport) {
|
if (!transport) {
|
||||||
logger.error(`No email transport configuration found : ${options.transport}`);
|
logger.error(`No email transport configuration found : ${options.transport}`);
|
||||||
@ -42,4 +42,4 @@ export const test = async (options) => {
|
|||||||
attachments: options.attachments
|
attachments: options.attachments
|
||||||
}, transport);
|
}, transport);
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL25vZGVtYWlsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhELE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQW1CLEVBQUUsU0FBNEIsRUFBRSxFQUFFO0lBQ3BILElBQUksQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUNoQyxHQUFHLFNBQVM7U0FDZixDQUFDLENBQUE7UUFDRixNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDcEMsSUFBSTtZQUNKLEVBQUUsRUFBRSxvQkFBb0I7WUFDeEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSTtZQUNKLFdBQVc7U0FDZCxDQUFDLENBQUE7UUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUM5QyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0FBQ0wsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDNUMsTUFBTSxNQUFNLEdBQVEsY0FBYyxFQUFFLENBQUE7SUFDcEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBZSxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFDbkUsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFzQixDQUFBO0lBQ3ZFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsNENBQTRDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQzdFLE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBVyxJQUFJLHFCQUFxQixDQUFBO0lBQ2pGLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixPQUFPLENBQUMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2xFLE9BQU8sYUFBYSxDQUFDO1FBQ2pCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNsQixFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDZCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxZQUFZO1FBQ3hDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLHFCQUFxQjtRQUMzQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7S0FDbkMsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNqQixDQUFDLENBQUEifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL25vZGVtYWlsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhELE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQW1CLEVBQUUsU0FBNEIsRUFBRSxFQUFFO0lBQ3BILElBQUksQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUNoQyxHQUFHLFNBQVM7U0FDZixDQUFDLENBQUE7UUFDRixNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDcEMsSUFBSTtZQUNKLEVBQUUsRUFBRSxvQkFBb0I7WUFDeEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSTtZQUNKLFdBQVc7U0FDZCxDQUFDLENBQUE7UUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUM5QyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0FBQ0wsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDNUMsTUFBTSxNQUFNLEdBQVEsY0FBYyxFQUFFLENBQUE7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBZSxJQUFJLE1BQU0sQ0FBQyxDQUFBO0lBQzlELE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBc0IsQ0FBQTtJQUN2RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUM3RSxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQVcsSUFBSSxxQkFBcUIsQ0FBQTtJQUNqRixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsT0FBTyxDQUFDLElBQUksT0FBTyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxPQUFPLGFBQWEsQ0FBQztRQUNqQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksWUFBWTtRQUN4QyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxxQkFBcUI7UUFDM0MsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO0tBQ25DLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDakIsQ0FBQyxDQUFBIn0=
|
||||||
@ -1,14 +1,16 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
import { defaults } from './_cli';
|
import { defaults } from './_cli.js';
|
||||||
defaults();
|
defaults();
|
||||||
import * as CLI from 'yargs';
|
import yargs from 'yargs';
|
||||||
|
import { hideBin } from 'yargs/helpers';
|
||||||
//import { register as registerTest } from './commands/test'; registerTest(CLI)
|
//import { register as registerTest } from './commands/test'; registerTest(CLI)
|
||||||
const argv = CLI.argv;
|
const parser = yargs(hideBin(process.argv));
|
||||||
|
const argv = parser.argv;
|
||||||
if (argv.h || argv.help) {
|
if (argv.h || argv.help) {
|
||||||
CLI.showHelp();
|
parser.showHelp();
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
else if (argv.v || argv.version) {
|
else if (argv.v || argv.version) {
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFDN0MsT0FBTyxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUE7QUFFNUIsK0VBQStFO0FBRS9FLE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUE7QUFDMUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkIsQ0FBQztLQUFNLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ25CLENBQUMifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFDaEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFdkMsK0VBQStFO0FBRS9FLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsTUFBTSxJQUFJLEdBQVEsTUFBTSxDQUFDLElBQUksQ0FBQTtBQUM3QixJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkIsQ0FBQztLQUFNLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ25CLENBQUMifQ==
|
||||||
4
packages/mail/dist-in/types.d.ts
vendored
4
packages/mail/dist-in/types.d.ts
vendored
@ -1,6 +1,6 @@
|
|||||||
import { Hash } from '@polymech/core';
|
import { Hash } from '@polymech/core';
|
||||||
import { PATH_INFO } from '@polymech/commons';
|
import { PATH_INFO } from '@polymech/commons';
|
||||||
import { Attachment } from 'nodemailer';
|
import { SendMailOptions } from 'nodemailer';
|
||||||
export interface ITransportOptions {
|
export interface ITransportOptions {
|
||||||
host: string;
|
host: string;
|
||||||
port: number;
|
port: number;
|
||||||
@ -33,6 +33,6 @@ export type IOptions = {
|
|||||||
subject?: string;
|
subject?: string;
|
||||||
html?: string;
|
html?: string;
|
||||||
to?: string;
|
to?: string;
|
||||||
attachments?: Attachment[];
|
attachments?: SendMailOptions['attachments'];
|
||||||
};
|
};
|
||||||
export type INodeMailer = IOptions & {};
|
export type INodeMailer = IOptions & {};
|
||||||
|
|||||||
@ -1,13 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "@polymech/mail",
|
"name": "@polymech/mail",
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"typings": "index.d.ts",
|
"main": "dist-in/index.js",
|
||||||
|
"typings": "dist-in/index.d.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"osr-mail": "main.js"
|
"osr-mail": "dist-in/main.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polymech/commons": "file:../commons",
|
"@polymech/commons": "file:../commons",
|
||||||
@ -44,4 +45,4 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"typescript"
|
"typescript"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1,64 +1,64 @@
|
|||||||
import { ImapFlow } from 'imapflow'
|
import { ImapFlow } from 'imapflow'
|
||||||
|
|
||||||
interface ImapConfig {
|
interface ImapConfig {
|
||||||
user: string;
|
user: string;
|
||||||
password: string;
|
password: string;
|
||||||
host: string;
|
host: string;
|
||||||
port: number;
|
port: number;
|
||||||
tls: boolean;
|
tls: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getMessagesFromInboxWithFilter(imapConfig: ImapConfig, fromAddress: string, toAddress: string): Promise<void> {
|
async function getMessagesFromInboxWithFilter(imapConfig: ImapConfig, fromAddress: string, toAddress: string): Promise<void> {
|
||||||
const client = new ImapFlow({
|
const client = new ImapFlow({
|
||||||
host: imapConfig.host,
|
host: imapConfig.host,
|
||||||
port: imapConfig.port,
|
port: imapConfig.port,
|
||||||
secure: imapConfig.tls,
|
secure: imapConfig.tls,
|
||||||
auth: {
|
auth: {
|
||||||
user: imapConfig.user,
|
user: imapConfig.user,
|
||||||
pass: imapConfig.password
|
pass: imapConfig.password
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Connect to the IMAP server
|
||||||
|
await client.connect();
|
||||||
|
|
||||||
|
// Select and lock the INBOX
|
||||||
|
let lock = await client.getMailboxLock('INBOX');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Connect to the IMAP server
|
// Search for messages where the 'from' address and 'to' address match the specified filters
|
||||||
await client.connect();
|
const searchCriteria = {
|
||||||
|
from: fromAddress,
|
||||||
|
to: toAddress
|
||||||
|
};
|
||||||
|
|
||||||
// Select and lock the INBOX
|
// Search for messages matching the criteria
|
||||||
let lock = await client.getMailboxLock('INBOX');
|
const messages = client.fetch({ from: fromAddress, to: toAddress }, { envelope: true, source: true });
|
||||||
|
|
||||||
try {
|
// Iterate through each filtered message and print details
|
||||||
// Search for messages where the 'from' address and 'to' address match the specified filters
|
for await (let message of messages) {
|
||||||
const searchCriteria = {
|
console.log('Message ID:', message.uid);
|
||||||
from: fromAddress,
|
console.log('From:', message.envelope?.from?.map(f => `${f.name} <${f.address}>`).join(', '));
|
||||||
to: toAddress
|
console.log('To:', message.envelope?.to?.map(f => `${f.name} <${f.address}>`).join(', '));
|
||||||
};
|
console.log('Subject:', message.envelope?.subject);
|
||||||
|
console.log('Date:', message.envelope?.date);
|
||||||
|
|
||||||
// Search for messages matching the criteria
|
// If you need the message body, you can access it from message.source
|
||||||
const messages = client.fetch({ from: fromAddress, to: toAddress }, { envelope: true, source: true });
|
console.log('Raw message source:', message.source.toString());
|
||||||
|
}
|
||||||
// Iterate through each filtered message and print details
|
} finally {
|
||||||
for await (let message of messages) {
|
// Always release the lock
|
||||||
console.log('Message ID:', message.uid);
|
lock.release();
|
||||||
console.log('From:', message.envelope?.from?.map(f => `${f.name} <${f.address}>`).join(', '));
|
|
||||||
console.log('To:', message.envelope?.to?.map(f => `${f.name} <${f.address}>`).join(', '));
|
|
||||||
console.log('Subject:', message.envelope?.subject);
|
|
||||||
console.log('Date:', message.envelope?.date);
|
|
||||||
|
|
||||||
// If you need the message body, you can access it from message.source
|
|
||||||
console.log('Raw message source:', message.source.toString());
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
// Always release the lock
|
|
||||||
lock.release();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Log out and close the connection
|
|
||||||
await client.logout();
|
|
||||||
|
|
||||||
} catch (err) {
|
|
||||||
console.error('Error fetching messages:', err);
|
|
||||||
throw err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Log out and close the connection
|
||||||
|
await client.logout();
|
||||||
|
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Error fetching messages:', err);
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for IMAP
|
// Configuration for IMAP
|
||||||
@ -73,7 +73,7 @@ const imapConfig = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Create a draft email
|
// Create a draft email
|
||||||
export const draft = async (subject: string, html: string, options) =>{
|
export const draft = async (subject: string, html: string, options) => {
|
||||||
const client = new ImapFlow(options)
|
const client = new ImapFlow(options)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -91,7 +91,7 @@ export const draft = async (subject: string, html: string, options) =>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Append the draft to the 'Drafts' folder
|
// Append the draft to the 'Drafts' folder
|
||||||
await client.append('Drafts', draftMessage, { flags: ['\Draft'] });
|
await client.append('Drafts', draftMessage, ['\\Draft']);
|
||||||
console.log('Draft created successfully.');
|
console.log('Draft created successfully.');
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Error:', err);
|
console.error('Error:', err);
|
||||||
|
|||||||
@ -26,7 +26,7 @@ const sendHtmlEmail = async ({ from, to, subject, html, attachments }: SendMailO
|
|||||||
|
|
||||||
export const test = async (options: IOptions) => {
|
export const test = async (options: IOptions) => {
|
||||||
const config: any = CONFIG_DEFAULT()
|
const config: any = CONFIG_DEFAULT()
|
||||||
logger.setSettings({ minLevel: options.logLevel as any || 'info' })
|
logger.settings.minLevel = (options.logLevel as any || 'info')
|
||||||
const transport = config?.email[options.transport] as ITransportOptions
|
const transport = config?.email[options.transport] as ITransportOptions
|
||||||
if (!transport) {
|
if (!transport) {
|
||||||
logger.error(`No email transport configuration found : ${options.transport}`)
|
logger.error(`No email transport configuration found : ${options.transport}`)
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
import { defaults } from './_cli'; defaults()
|
import { defaults } from './_cli.js'; defaults()
|
||||||
import * as CLI from 'yargs'
|
import yargs from 'yargs'
|
||||||
|
import { hideBin } from 'yargs/helpers'
|
||||||
|
|
||||||
//import { register as registerTest } from './commands/test'; registerTest(CLI)
|
//import { register as registerTest } from './commands/test'; registerTest(CLI)
|
||||||
|
|
||||||
const argv: any = CLI.argv
|
const parser = yargs(hideBin(process.argv));
|
||||||
|
const argv: any = parser.argv
|
||||||
if (argv.h || argv.help) {
|
if (argv.h || argv.help) {
|
||||||
CLI.showHelp();
|
parser.showHelp();
|
||||||
process.exit();
|
process.exit();
|
||||||
} else if (argv.v || argv.version) {
|
} else if (argv.v || argv.version) {
|
||||||
process.exit();
|
process.exit();
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Hash } from '@polymech/core'
|
import { Hash } from '@polymech/core'
|
||||||
import { PATH_INFO } from '@polymech/commons'
|
import { PATH_INFO } from '@polymech/commons'
|
||||||
import { Attachment } from 'nodemailer'
|
import { SendMailOptions } from 'nodemailer'
|
||||||
|
|
||||||
export interface ITransportOptions {
|
export interface ITransportOptions {
|
||||||
host: string
|
host: string
|
||||||
@ -34,7 +34,7 @@ export type IOptions = {
|
|||||||
subject?: string
|
subject?: string
|
||||||
html?: string
|
html?: string
|
||||||
to?: string
|
to?: string
|
||||||
attachments?: Attachment[]
|
attachments?: SendMailOptions['attachments']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user