75 lines
2.4 KiB
JavaScript
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();
|