58 lines
1.4 KiB
JavaScript
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();
|