fragen stichworte

Warum arbeitet DMARC mit der Absenderadresse und nicht mit dem Absender des Umschlags (Return-Path)?

Mehrere E-Mails, die von meinem Webserver an eine Google Mail-Adresse gesendet wurden, deren Adresse From: websitevisitor@gmail.com ist, wurden von Google Mail als Spam markiert. Das Feld From: wird aus Formulardaten ausgefüllt und entspricht der tatsächlichen E-Mail-Adresse des Besuchers, bei der es sich häufig um eine Google Mail-Adresse handelt. Der Return-Path: zeigt immer auf eine Adresse account@mywebserver.com, was bedeutet, dass die SPF- und DKIM-Prüfungen funktionieren.

Wenn ich die rohen E-Mails im Google Mail-Konto abchecke, sehe ich Folgendes:

Delivered-To: webformrecipient@gmail.com
...
Return-Path: <account@mywebserver.com>
Received: from mywebserver.com (mywebserver.com. [my:ipv6:address])
        by mx.google.com with ESMTPS id xxx
        for <webformrecipient@gmail.com>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 02 Feb 2016 00:40:02 -0800 (PST)
Received-SPF: pass (google.com: domain of account@mywebserver.com designates my:ipv6:address as permitted sender) client-ip=xxx;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of account@mywebserver.com designates my:ipv6:address as permitted sender) smtp.mailfrom=account@mywebserver.com;
       dkim=pass header.i=@mywebserver.com;
       dmarc=fail (p=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mywebserver.com; s=mydkim;
    h=Date:Message-Id:Sender:From:Subject:To; bh=w2snQznwxlVRVACmfQELC7VGmD1dcYdiCXbCIRYFKRs=;
    b=a0Vy3Ky43J5FdiWSuQ4qvTTH47G+Js0W/qtRU5gMlxfesNqrlyaIyExaIZlWvHNL4o0LNOF1GI94w4C41mmH+2JIkMEQZazw0MainP7UyUgsm/RZbAWoRuecPv+k108FlsWMP/l1UttXAdlvBVJmV2UGsYYlSSjKErQEF8tv3K0=;
Received: from apache by mywebserver.com with local (Exim 4.80)
    (envelope-from <account@mywebserver.com>)
    id 1aQWVF-00009b-2X
    for webformrecipient@mywebserver.com; Tue, 02 Feb 2016 09:40:01 +0100
To: webformrecipient@mywebserver.com
From: Website User <website-user@gmail.com>
Sender: webformrecipient@mywebserver.com
...

Beachten Sie, dass sowohl die SPF- als auch die DKIM-Prüfung bestanden werden, die DMARC-Prüfung jedoch nicht. Nach einiger Suche habe ich dies anhand der From: -Adresse für die Referenzdomäne von DMARC aufgespürt, entsprechend dieser Antwort bei Stack-Überlauf.

Drei Fragen:

  1. Ist es wahrscheinlich, dass dmarc=fail tatsächlich die Ursache dafür ist, dass die E-Mail von Google Mail Spam zugewiesen wird?
  2. Warum verarbeitet DMARC die Adresse From: und nicht die Return-Path (Umschlagsender) wie SPF und DKIM?
  3. Wenn nun auch der From: -Header einer Adresse @mydomain.com entsprechen muss, wie sollte dann der tatsächliche (logisch, Fleisch und Blut) Absender der Nachricht angegeben werden?

antworten

Stellen Sie sich SPF und DKIM als Möglichkeiten vor, den E-Mail-Pfad zu überprüfen, und DMARC als eine Erweiterung, die auch den Absender der Nachricht überprüft. Betrachten Sie dies als Zustellung eines FedEx-Schreibens. Es ist leicht zu überprüfen, von wo aus der Umschlag verschickt wurde und der Kurier rechtmäßig war, aber es gibt keine Möglichkeit zu beweisen, dass der Brief im Umschlag wirklich von der Person stammt, deren Name darauf gedruckt ist.

Ihr Webserver ist ein gültiger SMTP-Server für mywebserver.com, und Ihre Absenderadresse ist legitim. Dies reicht jedoch nicht aus, wenn andere Server darauf vertrauen, dass Sie die Berechtigung haben, als website-user@gmail.com zu senden. Woher weiß GMail, dass Ihr Server nicht gehackt oder anderweitig für böswillige Absichten verwendet wurde? Google Mail-Server werden sich nicht blindlings darauf verlassen, dass Sie E-Mails als Benutzer versenden - es sei denn, Sie werden von ihnen gehostet und haben dann möglicherweise Probleme, an Yahoo zu senden.

Um Ihren ersten Teil der Frage zu beantworten, ja, es ist sehr wahrscheinlich, dass GMail es aus diesem Grund als Spam einstuft. Bei den ältesten Formen von Spam handelt es sich um die Fälschung der Adresse "Von". Dies ist, was die meisten Benutzer sehen, wenn sie eine Nachricht erhalten. Dies ist das primäre Feld, dem sie vertrauen möchten. Wenn eine Nachricht von einem seriösen Mail-Server mit einer Absenderadresse gesendet wird, die nicht zu diesem Mail-Server gehört, ist dies immer noch eine rote Flagge.

Wie Sie bereits erwähnt haben, arbeitet DMARC als Teil der Spezifikation mit der Von-Adresse. Zugegeben, es macht es schwieriger, Web-Apps zu schreiben, die für jemanden verschicken, aber das ist irgendwie der Punkt. Was warum betrifft, tun sie - nun, es liegt an den Konstrukteuren der Spezifikation, aber es ist ein Kompromiss. Sie nehmen die Straße und bauen ein System, das sehr gut funktioniert, wenn Sie innerhalb dieser Grenzen bleiben. Vielleicht werden zukünftige Mechanismen einen Ausweg finden.

Die unglückliche Lösung besteht darin, nur Adressen zu verwenden, auf die Sie die Kontrolle haben. Um Ihre dritte Frage zu beantworten, unterschreiben Sie Ihre Nachrichten mit Ihrem Domainnamen und erwähnen Sie, dass sie im Namen von website-user@gmail.com gesendet wurde. Andernfalls müssen Sie Ihre Empfänger dazu auffordern, die Adresse zu ihrer Whitelist hinzuzufügen. Für einen legitimen Entwickler von Web-Apps macht es nicht viel Spaß, aber es schützt den Schutz des Posteingangs des Empfängers. Vielleicht haben Sie Glück, wenn Sie den Reply-To-Header mit der E-Mail-Adresse des Webbenutzers verwenden.

Diese Einschränkung von dieses DMARC-Threads wird diskutiert.

In der Zwischenzeit können Sie versuchen, sicherzustellen, dass Ihr Server auf keinen RBLs auf der schwarzen Liste steht. Es könnte sein, dass Sie DMARC nicht bestehen können, aber dennoch einige Spam-Filter durchgehen, wenn Sie einen guten Ruf haben ... aber ich würde mich nicht darauf verlassen.

1) Ja, wahrscheinlich führt der Dmarc-Fehler dazu, dass Gmail Ihre E-Mails missbraucht.

2) wäre auch an einer Antwort dafür interessiert

3) Ich würde (und wir machen) das Antwortfeld für die Kundenadresse verwenden, unsere Mails sehen so aus:

von: website@mydomain.com

an: user@mydomain.com

Betreff: Kontaktformular

antworten Sie an: customer-addy@somewhere.com

Hoffe, das hilft