Files
openclaw-backups/scripts/test-imap-simple.js

58 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
require('dotenv').config({ path: '/home/openclaw/.openclaw/workspace/skills/imap-smtp-email/.env' });
const Imap = require('imap');
const config = {
user: process.env.IMAP_USER,
password: process.env.IMAP_PASS,
host: process.env.IMAP_HOST || '127.0.0.1',
port: parseInt(process.env.IMAP_PORT) || 1143,
tls: process.env.IMAP_TLS === 'true',
tlsOptions: {
rejectUnauthorized: process.env.IMAP_REJECT_UNAUTHORIZED !== 'false',
},
connTimeout: 10000,
authTimeout: 10000,
};
console.log('Config:', {
user: config.user,
host: config.host,
port: config.port,
tls: config.tls,
rejectUnauthorized: config.tlsOptions.rejectUnauthorized
});
const imap = new Imap(config);
imap.once('ready', () => {
console.log('✅ Connected!');
imap.openBox('INBOX', false, (err, box) => {
if (err) {
console.log('Error opening INBOX:', err.message);
imap.end();
process.exit(1);
}
console.log('INBOX opened');
imap.search(['ALL'], (err, results) => {
if (err) {
console.log('Search error:', err.message);
} else {
console.log(`Found ${results.length} messages`);
const recent = results.slice(-5);
console.log('Last 5 UIDs:', recent.join(', '));
}
imap.end();
process.exit(0);
});
});
});
imap.once('error', (err) => {
console.log('❌ IMAP Error:', err.message);
process.exit(1);
});
imap.connect();