59 lines
1.6 KiB
JavaScript
Executable File
59 lines
1.6 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
/**
|
|
* Test SMTP configuration and email sending
|
|
* Usage: node scripts/test-smtp.js your-email@example.com
|
|
*/
|
|
|
|
require('dotenv').config({ path: '.env.local' });
|
|
const { emailService } = require('../lib/email-service.ts');
|
|
|
|
const testEmail = process.argv[2];
|
|
|
|
if (!testEmail) {
|
|
console.error('Usage: node scripts/test-smtp.js your-email@example.com');
|
|
process.exit(1);
|
|
}
|
|
|
|
async function testSMTP() {
|
|
console.log('Testing SMTP configuration...\n');
|
|
|
|
try {
|
|
// Test connection
|
|
console.log('1. Testing SMTP connection...');
|
|
const connected = await emailService.testConnection();
|
|
if (connected) {
|
|
console.log('✓ SMTP connection successful\n');
|
|
} else {
|
|
console.error('✗ SMTP connection failed\n');
|
|
process.exit(1);
|
|
}
|
|
|
|
// Test welcome email
|
|
console.log('2. Sending test welcome email...');
|
|
await emailService.sendWelcomeEmail({
|
|
email: testEmail,
|
|
username: 'Test User',
|
|
loginUrl: 'http://localhost:3000/login',
|
|
temporaryPassword: 'TempPass123!',
|
|
});
|
|
console.log('✓ Welcome email sent\n');
|
|
|
|
// Test password reset email
|
|
console.log('3. Sending test password reset email...');
|
|
await emailService.sendPasswordResetEmail({
|
|
email: testEmail,
|
|
username: 'Test User',
|
|
resetUrl: 'http://localhost:3000/reset-password?token=test-token-123',
|
|
expiresIn: '1 hour',
|
|
});
|
|
console.log('✓ Password reset email sent\n');
|
|
|
|
console.log('All tests passed! Check your inbox at:', testEmail);
|
|
} catch (error) {
|
|
console.error('Test failed:', error.message);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
testSMTP();
|