xpeditis2.0/apps/backend/test-smtp-simple.js
2025-12-05 13:55:40 +01:00

75 lines
2.4 KiB
JavaScript

#!/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: '<h1>Test réussi!</h1><p>Ce message confirme que l\'envoi d\'email fonctionne.</p>',
});
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();