SMTP-Fix: IPv4 bevorzugen (Container ohne IPv6 -> Strato-Timeout) + kurze Timeouts

This commit is contained in:
kerimatilgan committed 2026-07-03 15:47:20 +02:00
1 parent ff14edf28a
commit decad8165f
1 file changed
+8
+8
View File
@@ -7,6 +7,11 @@ import express from 'express';
import cors from 'cors'; import cors from 'cors';
import rateLimit from 'express-rate-limit'; import rateLimit from 'express-rate-limit';
import nodemailer from 'nodemailer'; import nodemailer from 'nodemailer';
import dns from 'node:dns';
// Container haben oft keine IPv6-Route. Strato (smtp.strato.de) löst sonst auf
// eine IPv6-Adresse auf -> SMTP-Verbindung läuft in den Timeout. IPv4 bevorzugen:
dns.setDefaultResultOrder('ipv4first');
const { const {
PORT = 3000, PORT = 3000,
@@ -53,6 +58,9 @@ const transporter = nodemailer.createTransport({
port: Number(SMTP_PORT), port: Number(SMTP_PORT),
secure: String(SMTP_SECURE) === 'true', secure: String(SMTP_SECURE) === 'true',
auth: SMTP_USER ? { user: SMTP_USER, pass: SMTP_PASS } : undefined, auth: SMTP_USER ? { user: SMTP_USER, pass: SMTP_PASS } : undefined,
connectionTimeout: 10000, // schnell abbrechen statt hängen
greetingTimeout: 10000,
socketTimeout: 15000,
}); });
const isEmail = (v) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v || ''); const isEmail = (v) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v || '');