#!/usr/bin/env node // Test SMTP ultra-simple pour identifier le problème const nodemailer = require('nodemailer'); require('dotenv').config(); console.log('🔍 Test SMTP Simple\n'); console.log('Configuration:'); console.log(' SMTP_HOST:', process.env.SMTP_HOST || 'NON DÉFINI'); console.log(' SMTP_PORT:', process.env.SMTP_PORT || 'NON DÉFINI'); console.log(' SMTP_USER:', process.env.SMTP_USER || 'NON DÉFINI'); console.log(' SMTP_PASS:', process.env.SMTP_PASS ? '***' : 'NON DÉFINI'); console.log(''); const host = process.env.SMTP_HOST; const port = parseInt(process.env.SMTP_PORT || '2525'); const user = process.env.SMTP_USER; const pass = process.env.SMTP_PASS; // Appliquer le même fix DNS que dans email.adapter.ts const useDirectIP = host && host.includes('mailtrap.io'); const actualHost = useDirectIP ? '3.209.246.195' : host; const serverName = useDirectIP ? 'smtp.mailtrap.io' : host; console.log('Fix DNS:'); console.log(' Utilise IP directe:', useDirectIP); console.log(' Host réel:', actualHost); console.log(' Server name:', serverName); console.log(''); const transporter = nodemailer.createTransport({ host: actualHost, port, secure: false, auth: { user, pass }, tls: { rejectUnauthorized: false, servername: serverName, }, connectionTimeout: 10000, greetingTimeout: 10000, socketTimeout: 30000, dnsTimeout: 10000, }); async function test() { try { console.log('Test 1: Vérification de la connexion...'); await transporter.verify(); console.log('✅ Connexion SMTP OK\n'); console.log('Test 2: Envoi d\'un email...'); const info = await transporter.sendMail({ from: 'noreply@xpeditis.com', to: 'test@example.com', subject: 'Test - ' + new Date().toISOString(), html: '

Test réussi!

Ce message confirme que l\'envoi d\'email fonctionne.

', }); console.log('✅ Email envoyé avec succès!'); console.log(' Message ID:', info.messageId); console.log(' Response:', info.response); console.log(''); console.log('✅ TOUS LES TESTS RÉUSSIS - Le SMTP fonctionne!'); process.exit(0); } catch (error) { console.error('❌ ERREUR:', error.message); console.error(' Code:', error.code); console.error(' Command:', error.command); process.exit(1); } } test();