← back to Claude Mail

probe.js

25 lines

'use strict';
// READ-ONLY diagnostic: does the mailbox credential authenticate right now?
// Surfaces the REAL server response that the poller's generic "Command failed"
// hides. Run: node --env-file=.env probe.js
const { ImapFlow } = require('imapflow');
const nodemailer = require('nodemailer');

(async () => {
  const i = new ImapFlow({
    host: process.env.IMAP_HOST || 'imap.purelymail.com',
    port: Number(process.env.IMAP_PORT || 993), secure: true,
    auth: { user: process.env.MAIL_USER, pass: process.env.MAIL_PASS }, logger: false,
  });
  try { await i.connect(); console.log('IMAP login: OK'); await i.logout(); }
  catch (e) { console.log('IMAP login: FAIL —', e.response || e.responseText || e.message); }

  const s = nodemailer.createTransport({
    host: process.env.SMTP_HOST || 'smtp.purelymail.com',
    port: Number(process.env.SMTP_PORT || 465), secure: true,
    auth: { user: process.env.MAIL_USER, pass: process.env.MAIL_PASS },
  });
  try { await s.verify(); console.log('SMTP login: OK'); }
  catch (e) { console.log('SMTP login: FAIL —', e.message); }
})();