feat: Weitergeleitete Bank-Mails erkennen und Uebergangenes zeigen
Wer Bank-Mails in ein Sammelpostfach weiterleitet, hat im From je nach Methode die eigene Adresse stehen. Geprueft werden deshalb auch Reply-To, Return-Path, Sender und X-Forwarded-For – bei automatischer Weiterleitung bleibt der Originalabsender dort erhalten. Ausserdem meldet der Abruf jetzt, welche Mails er uebergangen hat, mit Absender und Betreff. Beim Einrichten war das sonst Raten: Man sah nur "3 uebersprungen" und wusste nicht, was in den Filter gehoert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,9 @@ export default function Postfaecher() {
|
||||
const [ordner, setOrdner] = useState(null); // Ergebnis des Verbindungstests
|
||||
const [absender, setAbsender] = useState({});
|
||||
const [busy, setBusy] = useState(false);
|
||||
// Was beim letzten Abruf durchgefallen ist – beim Einrichten die einzige
|
||||
// Möglichkeit zu sehen, was in den Absender-Filter gehört.
|
||||
const [uebergangen, setUebergangen] = useState([]);
|
||||
|
||||
async function laden() {
|
||||
try {
|
||||
@@ -85,6 +88,7 @@ export default function Postfaecher() {
|
||||
try {
|
||||
const r = await api.fetchMailSource(quelle.id);
|
||||
toast(t("mailbox.fetched", { neu: r.neu, unklar: r.unklar }));
|
||||
setUebergangen(r.ohne_zuordnung || []);
|
||||
laden();
|
||||
} catch (e) {
|
||||
toast(e.message, "error");
|
||||
@@ -134,6 +138,17 @@ export default function Postfaecher() {
|
||||
}).join(" · ")}
|
||||
</div>
|
||||
<SenderForm konten={konten} onAdd={(d) => absenderAnlegen(q, d)} t={t} />
|
||||
{uebergangen.length > 0 && (
|
||||
<div className="alert" style={{ display: "block", marginTop: "var(--sp-2)" }}>
|
||||
<strong className="small">{t("mailbox.skippedTitle")}</strong>
|
||||
<p className="muted small">{t("mailbox.skippedHint")}</p>
|
||||
<ul className="muted small" style={{ paddingLeft: "1.2em", margin: 0 }}>
|
||||
{uebergangen.map((m, i) => (
|
||||
<li key={i} className="selectable">{m.from} — {m.subject}</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
)}
|
||||
<div className="mail-actions">
|
||||
<button className="btn sm" disabled={busy} onClick={() => testen(q)}>{t("mailbox.test")}</button>
|
||||
<button className="btn sm primary" disabled={busy} onClick={() => abrufen(q)}>{t("mailbox.fetchNow")}</button>
|
||||
|
||||
Reference in New Issue
Block a user