feat(email): incoming mail UI - IMAP config block + Received emails tab
Frontend for the incoming-mail feature. - Settings -> Email: an "Incoming mail (IMAP)" block under the outgoing SMTP settings (same field shape: host/port/security/user/pass/folder), shown only when the incomingMail flag is on (IncomingMailConfigCard, self-contained load/save). - A "Received emails" tab next to "Sent emails" (ReceivedEmailsPanel) listing the received_emails log with from/subject/received/status + attachment count and a link to the incoming-invoices inbox. - `incomingMail` flag in the frontend (type + context default, standalone) + a Communication-section Features card. - email.service: getIncomingConfig / updateIncomingConfig / listReceived. - i18n: settings.features.incomingMail, email.incoming, email.received (EN+DE). Verified: tsc --noEmit clean (0 errors); en/de JSON valid; npm run build green.
This commit is contained in:
@@ -1603,6 +1603,10 @@
|
||||
"description": "Der Kern von PicPeak. Immer verfügbar.",
|
||||
"locked": "Galerien sind die Grundlage von PicPeak und können nicht deaktiviert werden."
|
||||
},
|
||||
"incomingMail": {
|
||||
"title": "Eingehende E-Mails",
|
||||
"description": "Ruft ein dediziertes Postfach (IMAP) jede Minute ab und legt Rechnungsanhänge in Buchhaltung → Eingangsrechnungen ab. Postfach unter Einstellungen → E-Mail konfigurieren."
|
||||
},
|
||||
"reminderEmails": {
|
||||
"title": "Erinnerungs-E-Mails",
|
||||
"description": "Automatische Vor-Event-Erinnerung an Kunden N Tage vor dem Eventdatum. Vorlagen pro Kategorie (Konzert, Firma, Hochzeit, …) unter Einstellungen → Erinnerungsvorlagen; Übersteuerung pro Event auf der Event-Detailseite."
|
||||
@@ -2471,6 +2475,34 @@
|
||||
"success": "Warteschlange geleert – {{sent}} gesendet, {{failed}} fehlgeschlagen",
|
||||
"empty": "Keine ausstehenden E-Mails zum Senden"
|
||||
},
|
||||
"incoming": {
|
||||
"title": "Eingehende E-Mails (IMAP)",
|
||||
"subtitle": "Ein dediziertes Postfach, jede Minute abgerufen; Anhänge landen in Buchhaltung → Eingangsrechnungen.",
|
||||
"host": "IMAP-Host",
|
||||
"port": "Port",
|
||||
"security": "Sicherheit",
|
||||
"ssl": "SSL/TLS (993)",
|
||||
"plain": "Keine / STARTTLS (143)",
|
||||
"user": "Benutzername",
|
||||
"pass": "Passwort",
|
||||
"folder": "Ordner",
|
||||
"savedToast": "Einstellungen für eingehende E-Mails gespeichert."
|
||||
},
|
||||
"received": {
|
||||
"tab": "Empfangene E-Mails",
|
||||
"from": "Von",
|
||||
"subject": "Betreff",
|
||||
"received": "Empfangen",
|
||||
"status": "Status",
|
||||
"empty": "Noch keine empfangenen E-Mails. Eingehende E-Mails aktivieren und Postfach konfigurieren.",
|
||||
"inbox": "Eingang",
|
||||
"statusValue": {
|
||||
"ingested": "Erfasst",
|
||||
"no_attachment": "Kein Anhang",
|
||||
"duplicate": "Duplikat",
|
||||
"error": "Fehler"
|
||||
}
|
||||
},
|
||||
"sentEmails": {
|
||||
"tab": "Gesendete E-Mails",
|
||||
"title": "Gesendete E-Mails",
|
||||
|
||||
@@ -1161,6 +1161,10 @@
|
||||
"description": "The core PicPeak surface. Always available.",
|
||||
"locked": "Galleries are the foundation of PicPeak and can't be turned off."
|
||||
},
|
||||
"incomingMail": {
|
||||
"title": "Incoming mail",
|
||||
"description": "Poll a dedicated mailbox (IMAP) every minute and drop invoice attachments into Accounting → Incoming invoices. Configure the mailbox under Settings → Email."
|
||||
},
|
||||
"reminderEmails": {
|
||||
"title": "Reminder Emails",
|
||||
"description": "Automatic pre-event nudge to customers N days before their event date. Per-category templates (concert, corporate, wedding, …) editable in Settings → Reminder templates; per-event override on the event detail page."
|
||||
@@ -2044,6 +2048,34 @@
|
||||
"success": "Email queue flushed — {{sent}} sent, {{failed}} failed",
|
||||
"empty": "No pending emails to send"
|
||||
},
|
||||
"incoming": {
|
||||
"title": "Incoming mail (IMAP)",
|
||||
"subtitle": "A dedicated mailbox polled every minute; attachments land in Accounting → Incoming invoices.",
|
||||
"host": "IMAP host",
|
||||
"port": "Port",
|
||||
"security": "Security",
|
||||
"ssl": "SSL/TLS (993)",
|
||||
"plain": "None / STARTTLS (143)",
|
||||
"user": "Username",
|
||||
"pass": "Password",
|
||||
"folder": "Folder",
|
||||
"savedToast": "Incoming mail settings saved."
|
||||
},
|
||||
"received": {
|
||||
"tab": "Received emails",
|
||||
"from": "From",
|
||||
"subject": "Subject",
|
||||
"received": "Received",
|
||||
"status": "Status",
|
||||
"empty": "No received emails yet. Enable incoming mail and configure the mailbox.",
|
||||
"inbox": "inbox",
|
||||
"statusValue": {
|
||||
"ingested": "Ingested",
|
||||
"no_attachment": "No attachment",
|
||||
"duplicate": "Duplicate",
|
||||
"error": "Error"
|
||||
}
|
||||
},
|
||||
"sentEmails": {
|
||||
"tab": "Sent emails",
|
||||
"title": "Sent emails",
|
||||
|
||||
Reference in New Issue
Block a user