Andreas...2: Mail mit PHP vs Framework

Ich habe ein grundsätzliches Problem das mich beschäftigt. Über eine Webseite sollen emails versenden werden. Öfters auch an mehrere Teilnehmer (1000). Ist es sinnvoll, machbar dies mit php zu verwirklichen? Oder sollte man auf ein Script, Framework ausweichen.

Habt ihr dazu Erfahrung.

Einen schönen Gruss aus Franken (Heimat von Bier und Wein)

Andreas

  1. Hallo Andreas...2,

    ja, das ist machbar.

    Ein Framework brauchst Du dafür nicht unbedingt. Ein Script - nun ja, das ist ja das, was Du mit PHP schreibst.

    Ansonsten fehlt zu viel Fleisch an deiner Anforderung, um daraus einen Vorschlag grillen zu können, wie Du vorgehen solltest. Grundsätzlich ist es so, dass PHP eine mail Funktion hat, mit der man einzelne Mails versenden kann. Bei PHP.NET rät man wegen Ineffizienz aber davon ab, die für größere Mailings zu verwenden und sie verweisen auf PEAR::Mail bzw. PEAR::Mail_Queue

    Rolf

    --
    sumpsi - posui - clusi
  2. Tach!

    Über eine Webseite sollen emails versenden werden. Öfters auch an mehrere Teilnehmer (1000). Ist es sinnvoll, machbar dies mit php zu verwirklichen? Oder sollte man auf ein Script, Framework ausweichen.

    Die Frage ist, ob das Script in der Lage ist, soviele Mails abzuschicken, bevor max_execution_time zuschlägt. Wenn es vorher abbricht, dann wäre ein Mechanismus angebracht, der mitschreibt, welche Adressen bereits behandelt wurden, um bei weiteren Aufrufen den Rest zu verschicken.

    Viel konkreter kann man das nicht beantworten, denn es hängt von der Situation vor Ort ab.

    dedlfix.

  3. Hello,

    es ist sinnvoll, die Aufgabe(n) durch einen Mailserver und seine spezialisierten Komponenten ausführen zu lassen. Diese lassen sich aber durchaus von Skripten steuern und überwachen. Die Skripte kann man durchaus auch mit Hilfe von PHP erstellen.

    Man sollte sich aber von dem Gedanken befreien, dass die bloße Verwendung der mail()-Funktion in PHP bereits ein System ergeben würde. Bei der ins Auge gefassten Stückzahl von 1000 Mails sollte man unbedingt auch die Logauswertung einbeziehen. Mailversand mit mail() ist zunächst zustandslos. Du solltest aber auch die Rückmeldungen der verschiedenen Schichten des eMailverfahrens berücksichtigen. Sonst baust Du nur eine weitere Spamschleuder ohne Responsemanagement und ohne Fehlerbehandlung.

    Glück Auf
    Tom vom Berg

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.
  4. ..Öfters auch an mehrere Teilnehmer (1000).

    Sinnvoll ist da ein externer Anbieter. Der haftet auch. MFG

  5. Hallo Andreas...2,

    mir fällt gerade noch einer ein. Je nach Herkunft der Mailadressen könnte auch eine Mailing List interessant sein. Da können sich die User explizit für einen Mailverteiler anmelden, und wenn dann eine Mail an den Verteiler geschickt wird, bekommen alle angemeldeten User die Mail.

    Das ist ein Uraltprotokoll aus Prä-WWW Zeiten. Du müsstest dafür nur einen Mailinglist-Server aufsetzen. Keine Ahnung wie komplex das ist, aber das wäre dann etwas fertiges und die User hätten automatisch bestätigt, dass sie die Mails wollen.

    Rolf

    --
    sumpsi - posui - clusi
  6. Das Handbuch sagt:

    Hinweis: Es ist zu beachten, dass die mail()-Funktion nicht dazu geeignet ist, große Mengen von E-Mails in einer Schleife zu senden, da die Funktion für jede E-Mail ein SMTP-Socket öffnet und schließt, was nicht sehr effizient ist.

    Um große Mengen von E-Mails zu senden, können die PEAR-Pakete » PEAR::Mail und » PEAR::Mail_Queue verwendet werden.

    Ansonsten kann man auch darüber nachdenken von PHP mittels system(), exec() oder backticks einen batch-job (man batch) "anwerfen" zu lassen, der sich um die Mails kümmern möge.

    Ich weiß zu wenig um das ideale Vorgehen genauer einzugrenzen oder auch nur zu wissen ob ich überhaupt helfen will.