#!/usr/bin/env node require('dotenv').config(); const { sendMail } = require('./src/utils/email'); async function testEmail() { console.log('🧪 Testing Email Configuration'); console.log('================================'); // Check environment variables console.log('\n🔧 Environment Variables:'); console.log('NODE_ENV:', process.env.NODE_ENV || 'development'); console.log('SMTP_HOST:', process.env.SMTP_HOST || 'Not set'); console.log('SMTP_USER:', process.env.SMTP_USER || 'Not set'); console.log('SMTP_PASS:', process.env.SMTP_PASS ? '***Set***' : 'Not set'); console.log('GMAIL_USER:', process.env.GMAIL_USER || 'Not set'); console.log('GMAIL_APP_PASSWORD:', process.env.GMAIL_APP_PASSWORD ? '***Set***' : 'Not set'); console.log('SMTP_FROM:', process.env.SMTP_FROM || 'Not set'); // Test email sending console.log('\n📧 Testing Email Sending...'); const testEmail = { to: 'test@example.com', subject: 'Test Email - User Auth Service', text: 'This is a test email to verify email configuration.', html: `

🧪 Test Email

This is a test email to verify email configuration for the User Auth Service.

Timestamp: ${new Date().toISOString()}

Environment: ${process.env.NODE_ENV || 'development'}


If you receive this email, your email configuration is working correctly!

` }; try { const result = await sendMail( testEmail.to, testEmail.subject, testEmail.text, testEmail.html ); console.log('✅ Email test successful!'); console.log('Message ID:', result.messageId); console.log('Response:', result.response); } catch (error) { console.error('❌ Email test failed:'); console.error('Error:', error.message); if (error.code) { console.error('Error Code:', error.code); } if (error.response) { console.error('SMTP Response:', error.response); } console.error('\n🔧 Troubleshooting Tips:'); console.error('1. Check your email credentials'); console.error('2. Verify 2FA is enabled for Gmail'); console.error('3. Use App Password, not regular password'); console.error('4. Check firewall/network settings'); console.error('5. Verify SMTP port (587 for Gmail)'); } } // Run the test testEmail().catch(console.error);