#!/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();