import nodemailer from 'nodemailer' export default defineEventHandler(async (event) => { try { const body = await readBody(event) // Validierung der Eingabedaten if (!body.name || !body.email || !body.subject || !body.message) { throw createError({ statusCode: 400, statusMessage: 'Alle Pflichtfelder müssen ausgefüllt werden' }) } // E-Mail-Validierung const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ if (!emailRegex.test(body.email)) { throw createError({ statusCode: 400, statusMessage: 'Ungültige E-Mail-Adresse' }) } // SMTP-Konfiguration (hier können Sie Ihre SMTP-Daten eintragen) const transporter = nodemailer.createTransporter({ host: process.env.SMTP_HOST || 'smtp.gmail.com', port: process.env.SMTP_PORT || 587, secure: false, // true für 465, false für andere Ports auth: { user: process.env.SMTP_USER || 'j.dichmann@gmx.de', pass: process.env.SMTP_PASS || process.env.EMAIL_PASSWORD } }) // E-Mail-Template const emailHtml = `

Neue Kontaktanfrage - Harheimer TC

Kontaktdaten:

Name: ${body.name}

E-Mail: ${body.email}

Telefon: ${body.phone || 'Nicht angegeben'}

Betreff: ${body.subject}

Nachricht:

${body.message}

Diese Nachricht wurde über das Kontaktformular der Harheimer TC Website gesendet.

Zeitstempel: ${new Date().toLocaleString('de-DE')}

` const emailText = ` Neue Kontaktanfrage - Harheimer TC Kontaktdaten: Name: ${body.name} E-Mail: ${body.email} Telefon: ${body.phone || 'Nicht angegeben'} Betreff: ${body.subject} Nachricht: ${body.message} --- Diese Nachricht wurde über das Kontaktformular der Harheimer TC Website gesendet. Zeitstempel: ${new Date().toLocaleString('de-DE')} ` // E-Mail senden const mailOptions = { from: `"Harheimer TC Website" <${process.env.SMTP_USER || 'j.dichmann@gmx.de'}>`, to: 'j.dichmann@gmx.de', replyTo: body.email, subject: `Kontaktanfrage: ${body.subject}`, text: emailText, html: emailHtml } await transporter.sendMail(mailOptions) return { success: true, message: 'E-Mail wurde erfolgreich gesendet!' } } catch (error) { console.error('Fehler beim Senden der E-Mail:', error) if (error.statusCode) { throw error } throw createError({ statusCode: 500, statusMessage: 'Fehler beim Senden der E-Mail. Bitte versuchen Sie es später erneut.' }) } })