Sven Rautenberg: mail() --> SPAM!

Beitrag lesen

Moin!

Nun ja,.. es geht mir primär um die großen Freemailer wie Yahoo, AOL Hotmail & Co. Da ich keine Spam-Mails versende, sondern nur eine Registrierungsbestätigung nach erfolgreicher Anmeldung mit Bestätigungslink, wollen meine Empfänger definitiv diese Email erhalten (sonst können sie nicht einloggen). Nun ist folgendes Problem aufgetreten, dass bei einigen Freemailern u.a. Yahoo dieses Bestätigungs-Email bereits in den Standardeinstellungen als Junk klassifiziert wird und so zu einer Flut an Supportarbeit führt, da sich User beschweren das Email nicht erhalten zu haben (wo es doch im Junk-Fach liegt). D.h. jeder User der eine Yahoo-Adresse angibt erhält dieses Email in seinem Junk-Fach!

Das ist natürlich ärgerlich, aber wie Michael schon vorgeschlagen hat: Den User auf der Webseite drauf hinweisen, dass die Mail auch als Spam klassifiziert werden könnte, sollte schon helfen.

Das Problem ist: Kurze Bestätigungsmails haben nicht viel Text. Der Text, der enthalten ist, sieht oft so aus, wie der in Spam-Mails (dort gibts auch Links zu URLs mit langen Parametern).

Genau das ist meine Frage. Ich nehme einmal an, dass ich mit einer standardkonformen Mail bei den Freemailern nicht automatisch als Spam eingestuft werde.

Doch. Wenn du den Mailtext deinem Mailserver übergibst, regelt der schon automatisch, dass die Mail dem SMTP-Standard entspricht. Dem Standard nicht zu entsprechen hebt vielleicht etwas die Spamhaltigkeit, aber das würde ich nicht als signifikant bezeichnen.

Fazit1: in den nie als Spam klassifizierten Mails tauchte im Received:-Bereich stets deren Domain gefolgt von einer (offenbar ihrer)IP-Adresse auf.

z.B.:
Received: from unknown (HELO nat.openbc.com) ([213.238.59.15])
envelope-sender mailrobot@openbc.com)
by spamwall.xvveb.net (qmail-ldap-xweb-1.03) with AES256-SHA encrypted SMTP for user@user.com; 3 Mar 2006 10:14:54 -0000

Naja, dieser Header ist eigentlich schon eher so ein kleines Negativbeispiel. Der sendende Server hat jedenfalls keinen Reverse-DNS-Eintrag (deshalb steht da "from unknown", und weiter hinten die IP-Adresse in eckigen Klammern). Es hilft aber etwas, so einen Eintrag zu haben. Und wenn der dann auch noch mit der HELO-Angabe übereinstimmt, wäre das auch gut. Man weiß ja nie, welche seltsamen Kriterien manche Mailadmins so anlegen. Wie gesagt: Alles keine Garantie, aber Indizien.

meine Mails hingegen enthalten (obwohl ich einen [managed]Root-Server besitze) weder meine Domain noch meine IP in dieser Information.

Den Reverse-DNS-Eintrag solltest du irgendwo bei deinem Provider einrichten können, damit deiner IP ein DNS-Name zugeordnet werden kann, der auf dich schließen läßt.

Da die A- und MX-Records jedoch auf meine IP deuten, und ich aussschliesslich mit der entsprechenden Domain-Endung versende, wäre es ein eindeutiges Indiz (Domain - IP) dass zumindest der Eigentümer der Domain diese Mails versendet (tendenziell also kein Spam).

Hm, nö, dem Gedankengang kann ich nicht so ganz folgen. Die A- und MX-Einträge sind für den Versand von Mail von dir weg für keinen anderen Mailserver relevant. Die einzige (allerdings genau betrachtet auch sehr schwache, weil beliebig "fälschbare") Verbindung wäre der Reverse-DNS-Record (das meinte ich mit "PTR"). Der empfangende Mailserver kennt nur die IP des Senders, schaut im DNS nach, welcher Name dazugehört, und schaut dann nach, welche IP zu diesem Namen gehört - wenn wieder die gleiche IP rauskommt, ist der Besitzer der IP offenbar auch der Besitzer der Domain und hat auf beides gleichermaßen Einfluß. Dann geht es nur noch darum: Ist die IP "böse" (d.h. in Blacklisten verzeichnet)? Ist die Domain böse? Ist der Inhalt böse?

Frage: woher soll der Empfänger nun aber wissen von welcher Domain und welcher IP versandt wurde, und ob die records der Domain auf die IP lauten, wenn hier bei Received die Kennung (Domain) meines Hosters enthalten ist? Daher vermute ich zunächst einmal, dass das hier nicht optimal ist.

Wie gesagt: Wenn du jetzt mal deine IP rückwärts auflöst, kommt dein Providerdomainname bei raus. Ändere das, wenn möglich.

Schau auch mal nach, ob deine IP oder das Netzwerk deines Providers in Blacklisten Erwähnung findet.

Fazit2: Mails die nicht als Spam klassifiziert werden sind offenbar zumeist mit qmail versandt worden.

Das ist irrelevant. Wirklich. Ich sende mit Postfix, und ich habe keine Probleme.

Außerdem halte ich qmail für einen Mailserver, den man besser meiden sollte, wenn man es kann. Vom Programmierer gibt es zwar diese tolle "Hat keine Bugs"-Garantie, der Nachteil ist allerdings, dass das Programm im Originalzustand heutzutage nahezu unbrauchbar für die eigene Spamfilterung ist. Will man irgendwas sinnvolles an Funktionalität haben, muß man viel patchen. Da nehme ich dann doch lieber Postfix, das ist einfacher zu konfigurieren und bringt viele sinnvolle Funktionen direkt mit.

Frage dazu: Ist eine Umstellung auf qmail für mich auf programmierer-und betreiberseite mit erheblichen Umstellungs- und Arbeitsaufwand verbunden? (d.h für die codes die mail(); enthalten)? ... oder kann ich dies einfach bei meinem Hoster beantragen und hab damit keine weiteren Probleme!?

Was heißt hier "beantragen"? Du hast einen Root-Server, das mußt du gefälligst selbst machen.

Jeder, der notwendig ist, damit der Mailinhalt korrekt übermittelt wird. Es gibt keinen Header, der garantiert, dass die Mail ankommt. Es gibt keinen Header, der garantiert, dass die Mail in jedem Fall aussortiert wird (obwohl "Subject: VIAGRA cheap and enlarge your penis" die Chancen natürlich erhöht).

Es geht mir hier vielmehr um Header wie From:, reply,... etc.
Gibt es hier keine "Best Practice" welche Header bei mail(); verwendet werden sollten?

Mir ist nichts bekannt. Zwingend ist, dass gewisse Header vorkommen müssen, ansonsten wird's mit dem Ankommen der Mail nichts. Andere Header sind optional. Kein Header ist aufgrund seines Vorkommens böse. Aber Header und Body können aufgrund ihres INHALTS als böse eingestuft werden.

Und du könntest natürlich auch mal bei Yahoo anklopfen und die drum bitten, dass deine Mails nicht im Spamfilter landen. Vielleicht erreichst du was - dürfte aber erst ab einem gewissen Aufkommen an Mails für die interessant werden, aber es ist grundsätzlich durchaus verhandelbar, als Mailversender auf Whitelisten zu kommen.

- Sven Rautenberg

--
My sssignature, my preciousssss!