40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
|
|
import nodemailer from 'nodemailer';
|
|
|
|
async function verifySmtp() {
|
|
console.log("Verifying SMTP Connection...");
|
|
|
|
// Settings mirroring the default fallback in email.ts
|
|
const host = process.env.SMTP_HOST || 'localhost';
|
|
const port = parseInt(process.env.SMTP_PORT || '1025');
|
|
|
|
console.log(`Configuration: ${host}:${port}`);
|
|
|
|
const transporter = nodemailer.createTransport({
|
|
host,
|
|
port,
|
|
secure: false,
|
|
ignoreTLS: true
|
|
});
|
|
|
|
try {
|
|
await transporter.verify();
|
|
console.log("✅ SMTP Connection Successful! MailHog is likely running.");
|
|
|
|
const info = await transporter.sendMail({
|
|
from: '"Test" <test@example.com>',
|
|
to: 'test@example.com',
|
|
subject: 'Test Email',
|
|
text: 'If you see this, email sending works.'
|
|
});
|
|
console.log(`✅ Test email sent: ${info.messageId}`);
|
|
process.exit(0);
|
|
} catch (error) {
|
|
console.error("❌ SMTP Connection Failed:", error);
|
|
console.log("Make sure MailHog is running (usually 'brew install mailhog' & 'brew services start mailhog' or docker).");
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
verifySmtp();
|