import nodemailer from 'nodemailer' const transporter = nodemailer.createTransport({ host: process.env.SMTP_HOST, port: Number(process.env.SMTP_PORT) || 587, secure: process.env.SMTP_SECURE === 'true', auth: process.env.SMTP_USER ? { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS } : undefined, }) export async function sendMagicLinkEmail({ to, magicUrl, }: { to: string magicUrl: string }) { await transporter.sendMail({ from: process.env.EMAIL_FROM ?? 'noreply@innungsapp.de', to, subject: 'Ihr Login-Link für InnungsApp', html: `

InnungsApp

Ihr persönlicher Login-Link

Klicken Sie auf den folgenden Button, um sich einzuloggen. Der Link ist 24 Stunden gültig.

Jetzt einloggen

Wenn Sie diesen Link nicht angefordert haben, können Sie diese E-Mail ignorieren.


InnungsApp · Die digitale Plattform für Innungen

`, }) } export async function sendInviteEmail({ to, memberName, orgName, apiUrl, }: { to: string memberName: string orgName: string apiUrl: string }) { // Generate magic link for the invite const signInUrl = `${apiUrl}/login?email=${encodeURIComponent(to)}&invited=true` await transporter.sendMail({ from: process.env.EMAIL_FROM ?? 'noreply@innungsapp.de', to, subject: `Einladung zur InnungsApp — ${orgName}`, html: `

InnungsApp

Hallo ${memberName},

Sie wurden von der ${orgName} zur InnungsApp eingeladen. InnungsApp ist die digitale Plattform Ihrer Innung für News, Termine und das Mitgliederverzeichnis.

Klicken Sie auf den Button, um Ihren Account zu aktivieren:

Jetzt Zugang aktivieren

Kein Passwort nötig — Sie erhalten einen sicheren Login-Link per E-Mail.

`, }) } export async function sendAdminCredentialsEmail({ to, adminName, orgName, password, loginUrl, }: { to: string adminName: string orgName: string password: string loginUrl: string }) { await transporter.sendMail({ from: process.env.EMAIL_FROM ?? 'noreply@innungsapp.de', to, subject: `Admin-Zugang für — ${orgName}`, html: `

InnungsApp Admin

Hallo ${adminName},

Sie wurden als Administrator für die ${orgName} in der InnungsApp freigeschaltet.

Ihre Zugangsdaten

E-Mail: ${to}

Passwort: ${password}

Klicken Sie auf den Button, um sich im Verwaltungsportal anzumelden. Sie werden aufgefordert, Ihr Passwort nach dem ersten Login zu ändern.

Zum Admin-Portal

InnungsApp · Administrative Portal

`, }) }