Felix Riesterer: mail() - generierte Mails und SPAM-Filter von Providern

Liebe Mitleser,

ich hatte vor, ein PHP-Script zu schreiben, das mir Rundmails verschickt (ähnlich wie ein Mailverteiler). Als Grundlage wäre der PHP-Formmailer aus dem SELF-Raum zum Einsatz gekommen (benutze ich eh schon). Eine entsprechende Anfrage beim Support-Team des Providers ergab das hier:

unser watchdog-system
schlägt erst bei 1000 "scriptversandten" mails an.
empfehlen würden wir diese lösung jedoch nicht, denn scriptgenerierte
mails wanden bei vielen grossen mailprovidern (1+1, gmx, aol, web.de)
automatisch in den spam-ordner (erkennbar an den headerdaten einer mail).
das passiert nicht, wenn sie die mailinglisten-funktion nutzen.

Kann mir das jemand erklären? Ist es denn so unmöglich, die Header-Daten entsprechend so zu generieren, dass obiges Filtern nicht problematisch wird?

Außerdem kommen Mails aus dem nach dem SELF-Artikel gestrickten Formmailer immer in meinem GMX-Account an...

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  1. Kann mir das jemand erklären? Ist es denn so unmöglich, die Header-Daten entsprechend so zu generieren, dass obiges Filtern nicht problematisch wird?

    nein, ist es nicht - aber 1000x mail($mail, 'subject', 'body text'); ist defintiv zu wenig ;)

    1. Liebe(r) suit,

      Kann mir das jemand erklären? Ist es denn so unmöglich, die Header-Daten entsprechend so zu generieren, dass obiges Filtern nicht problematisch wird?

      nein, ist es nicht - aber 1000x mail($mail, 'subject', 'body text'); ist defintiv zu wenig ;)

      wie meinst Du mit "nein, ist es nicht"? Was müsste ich tun?

      Und was genau meinst Du mit:

      aber 1000x mail($mail, 'subject', 'body text'); ist defintiv zu wenig ;)

      Findest Du, dass der Watchdog erst später (also bei deutlich mehr als 1000 Aufrufen) Alarm schlagen sollte?

      Ich fürchte, dass ich aus Deiner Antwort nicht so besonders schlau geworden bin...

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Hallo,

        Und was genau meinst Du mit:

        aber 1000x mail($mail, 'subject', 'body text'); ist defintiv zu wenig ;)

        wenn man der mail() Funktion nur das unbedingt notwendige mitgibt, dann werden einige der für Spam-Filter interessanten Header-Daten von PHP mit Werten gefüllt. Und bei diesen Werten schlägt der Spam-Filter vieler Provider Alarm.

        Gruß

        Krueger

        1. wenn man der mail() Funktion nur das unbedingt notwendige mitgibt, dann werden einige der für Spam-Filter interessanten Header-Daten von PHP mit Werten gefüllt. Und bei diesen Werten schlägt der Spam-Filter vieler Provider Alarm.

          richtig - so war das gemeint - der vierte parameter in der mail-funktion lässt die saubere defintion der mailheader zu

          wie eine "saubere" e-mail auszusehen hat, lässt sich hier nachlesen

          http://www.faqs.org/rfcs/rfc2822

          im übrigen zählen auch html-fehler (2x body, nicht geschlossene elemente usw) bei manchen spamfiltern als ausschlusskriterium

          1. Liebe(r) suit,

            wie eine "saubere" e-mail auszusehen hat, lässt sich hier nachlesen

            http://www.faqs.org/rfcs/rfc2822

            vielen Dank für den RFC. Ich fürchte nur, dass ich zuwenig Zeit und Biss habe, mich durch einen RFC zu "wühlen" - diese Dinger sind immerhin keine SELFHTML-Kapitel. :-(

            Habe jetzt bei meinem Provider einen Mailverteiler eingerichtet. Ist mir zwar nicht so lieb, da ich gerne eine komfortablere Lösung für mein Anliegen hätte, als diesen Mailverteiler immer wieder upzudaten, aber gut.

            Irgendwann werde ich allerdings verstehen, was als wichtiger vierter Parameter (additional_headers) von mail() korrekterweise stehen muss. Der PHP-Formmailer schreibt da nur ein "From: $absender" rein, aber wenn das bei wichtigen Mailhostern bereits SPAM-Alarm schlägt...

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
            1. Irgendwann werde ich allerdings verstehen, was als wichtiger vierter Parameter (additional_headers) von mail() korrekterweise stehen muss.

              schick dir einfach selbst eine e-mail und sieh dir den header an, damit ist es etwas leichter zu verstehen, wie es etwa aussehen kann

              1. Hellihello

                schick dir einfach selbst eine e-mail und sieh dir den header an, damit ist es etwas leichter zu verstehen, wie es etwa aussehen kann

                Das versuchte ich auch schon https://forum.selfhtml.org/?t=171664&m=1124293

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
  2. Hellihello

    immerhin gibt es mit Thunderbird die Möglichkeit, sich die Kopfzeilen anzuzeigen.

    Schicke ich mir eine Mail mit Thunderbird selbst, kommt heraus:

    X-Envelope-From: <mail@my_example.de>
    X-Envelope-To: <mail@my_example.de>
    X-Delivery-Time: 1211835446
    X-UID: 23328
    Return-Path: <mail@my_example.de>
    X-RZG-FWD-BY: cc@my_example.de
    Received: from localhost (client mail forwarder)
     by mailin.webmailer.de (christine mi58) (RZmta 16.38)
     for <mail@my_example.de>; Mon, 26 May 2008 22:57:24 +0200 (MEST)
    Received: from mo-p00-ob.rzone.de ([81.169.146.162])
     by mailin.webmailer.de (christine mi58) (RZmta 16.38)
     with ESMTP id 601768k4QKqvN6 ; Mon, 26 May 2008 22:57:24 +0200 (MEST)
     (envelope-from: <mail@my_example.de>)
    X-RZG-CLASS-ID: mo00
    X-RZG-AUTH: j/gCopVk3lZNKg+CZxBExDzAL3Xd4Q+QoKDU6f647uqRC2Aw3YrB8QKOpw1Ap0UK
    Received: from [192.168.178.36]
     (brln-4db93bbd.pool.einsundeins.de [77.185.59.189])
     by post.webmailer.de (fruni mo46) (RZmta 16.38)
     with ESMTP id D01199k4QKEEkm ; Mon, 26 May 2008 22:57:23 +0200 (MEST)
     (envelope-from: <mail@my_example.de>)
    Message-ID: <483B2434.90500@my_example.de>
    Date: Mon, 26 May 2008 22:57:24 +0200
    From: Robert my_example <mail@my_example.de>
    User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
    MIME-Version: 1.0
    To: test@my_example.de
    CC: cc@my_example.de
    Subject: test-betreff
    Content-Type: text/plain; charset=ISO-8859-15; format=flowed
    Content-Transfer-Encoding: 7bit

    test-text

    schicke ich eine Mail mit der PEAR-Klasse (multipart allerdings, daher die boundary) kommt das hier heraus:

    X-Envelope-From: <root@h1028341.my_a_second_example.net>
    X-Envelope-To: <mail@my_example.de>
    X-Delivery-Time: 1211836016
    X-UID: 23329
    Return-Path: <root@h1028341.my_a_second_example.net>
    X-RZG-FWD-BY: test_php@my_example.de
    Received: from localhost (client mail forwarder)
     by mailin.webmailer.de (andre mi9) (RZmta 16.38)
     for <mail@my_example.de>; Mon, 26 May 2008 23:06:56 +0200 (MEST)
    X-RZG-CLASS-ID: mi
    Received: from h1028341.my_a_second_example.net (multitain.de [85.214.55.230])
     by mailin.webmailer.de (andre mi9) (RZmta 16.38)
     with ESMTP id i017ffk4QL2EnL for <test_php@my_example.de>;
     Mon, 26 May 2008 23:06:56 +0200 (MEST)
     (envelope-from: <root@h1028341.my_a_second_example.net>)
    Received: (qmail 27824 invoked by uid 30); 26 May 2008 23:06:56 +0200
    Date: 26 May 2008 23:06:56 +0200
    Message-ID: <20080526210656.27823.qmail@h1028341.my_a_second_example.net>
    To: test_php@my_example.de
    Subject: Test-Subject PHP-Mail
    MIME-Version: 1.0
    From: test@example.com
    Content-Type: multipart/alternative;
     boundary="=_9988d124cd580384dcaefd2b98c1e615"

    --=_9988d124cd580384dcaefd2b98c1e615
    Content-Type: text/plain; charset="ISO-8859-1"
    Content-Transfer-Encoding: 7bit

    Text version of email
    --=_9988d124cd580384dcaefd2b98c1e615
    Content-Type: text/html; charset="ISO-8859-1"
    Content-Transfer-Encoding: quoted-printable

    <p>html-version-of-mail</p>
    --=_9988d124cd580384dcaefd2b98c1e615--

    "X-Envelope-From: " zB. lässt sich nicht durch das Skript scheints beeinflussen. Auch nicht durch Client, sondern vielmehr durch das Konto, über das das versandt wird ???

    auch finde ich im PHP-Script:

    Received: from localhost (client mail forwarder)

    Wie will man das rausbekommen/ändern?

    Soviel als Anregung vielleicht.

    Weitere Idee: ist es nicht auch möglich, mit PHP SMTP zu nutzen?

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
  3. Hellihello Felix,

    hast Du denn jetzt eine Script-Variante gefunden? S.a. https://forum.selfhtml.org/?t=171844&m=1125522

    Dank und Gruß,

    Robert aka

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Lieber Robert,

      hast Du denn jetzt eine Script-Variante gefunden? S.a. https://forum.selfhtml.org/?t=171844&m=1125522

      das sind alles sehr spannende Diskussionsfäden hier im Forum. Aus Zeit- und Effizienzgründen habe ich einfach einen Mailverteiler über unseren Hoster eingerichtet. In meinem Script sende ich die Rundmail an eben diesen Verteiler - und gut ist. Ich habe mich etwas nach dieser PEAR-Klasse mit dem "richtigen" Mailversenden umgegoogelt, aber das Ding zu begreifen, kann (und will) ich mir momentan nicht leisten. Vielleicht in den Sommerferien, wenn Lehrer ihren Jahresurlaub haben...

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Hellihello Felix,

        das sind alles sehr spannende Diskussionsfäden hier im Forum. Aus Zeit- und Effizienzgründen habe ich einfach einen Mailverteiler über unseren Hoster eingerichtet. In meinem Script sende ich die Rundmail an eben diesen Verteiler - und gut ist.

        Das kapier ich nicht, Du hast ein Script (mit der Funktion mail()?) _und_ einen "Verteiler" Deines Hosters (hosteurope und konsorten?). Ist das dort ein vorgefertigtes Script, wie es 1und1 oder strato zB. für Gästebücher anbieten? (ja, die GBs sollte man lieber von F.R. nehmen (;-)).

        »»Ich habe mich etwas nach dieser PEAR-Klasse mit dem "richtigen" Mailversenden umgegoogelt, aber das Ding zu begreifen, kann (und will) ich mir momentan nicht leisten. Vielleicht in den Sommerferien, wenn Lehrer ihren Jahresurlaub haben...

        Mach doch lieber Urlaub dann (;-).

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. Lieber Robert,

          Das kapier ich nicht, Du hast ein Script (mit der Funktion mail()?) _und_ einen "Verteiler" Deines Hosters (hosteurope und konsorten?).

          ja, ich habe ein PHP-Script, in welchem ich die Funktion mail() benutze. Ich nutze sie um eine Mail an einen Empfänger zu senden. Dieser Empfänger ist ein Verteiler, den ich im Service-Menü meiner Website (sitecontrol) jederzeit selbst einrichten und aktualisieren kann.

          Ist das dort ein vorgefertigtes Script, wie es 1und1 oder strato zB. für Gästebücher anbieten? (ja, die GBs sollte man lieber von F.R. nehmen (;-)).

          Ich und "vorgefertigte Scripte"? Das wäre mir zu langweilig. Das einzige vorgefertigte Script, das ich zur Zeit einsetze, ist Alex' kleines Forum...

          »»Ich habe mich etwas nach dieser PEAR-Klasse mit dem "richtigen" Mailversenden umgegoogelt, aber das Ding zu begreifen, kann (und will) ich mir momentan nicht leisten. Vielleicht in den Sommerferien, wenn Lehrer ihren Jahresurlaub haben...

          Mach doch lieber Urlaub dann (;-).

          Das ist ein wirklich sehr vernünftiger Vorschlag! Ich werde mir das gründlich überlegen. :-)

          Liebe Grüße aus Ellwangen,

          Felix Riesterer.

          --
          ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
          1. Hellihello Felix,

            Das kapier ich nicht, Du hast ein Script (mit der Funktion mail()?) _und_ einen "Verteiler" Deines Hosters (hosteurope und konsorten?).

            ja, ich habe ein PHP-Script, in welchem ich die Funktion mail() benutze. Ich nutze sie um eine Mail an einen Empfänger zu senden. Dieser Empfänger ist ein Verteiler, den ich im Service-Menü meiner Website (sitecontrol) jederzeit selbst einrichten und aktualisieren kann.

            Aha, aber werden nicht in den Headern Infos aus dem ersten mail()-basierten Script weitergereicht - die u.U. Spamfilterrelevanz haben könnten?

            Dank und Gruß,

            Robert aka

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt