db $row auslesen und per formular an alle einträge emails versenden

  • Hallo Traum-Projekt Community,
    ich habe (mal wieder) ein kleines Problem. Es besteht eine Datenbank mit den Spalten "id, email, email_key, is_aktiv, date". So weit so gut und es lassen sich auch ohne Probleme neue Emails in die Datenbank eintragen. Das Problem ist nun, dass ich über ein Backend (Adminbereich) an alle Emails in der "$row: emails" eine Email mittels formular zusenden möchte - quasi ein Newsletter-System damit bewerkstelligen möchte.


    Aber dazu erst einmal die bereits vorhandene Datei:


    Das Problem ist, dass ich nicht weiß, wie ich nun ...
    1)
    Den Absender aus der ausgelesenen Datenbank als Empfänger in das bestehende Formular bekomme


    2)
    Die Angaben aus dem "input" und der "textarea" in dem Formular mit übergebe und dann absenden kann


    3)
    Den Inhalt des Formulars an ALLE enthaltenen Email-Adressen in der Datenbank versenden kann



    Ich hoffe das ich mich einigermaßen verständlich ausgedrückt habe und würde mich über eine Hilfe freuen.
    Vielen Dank dafür schon einmal vorab!


    Gruss

  • Von hinten aufgerollt:


    Für 3 empfehle ich dir einen Mailer wie beispielsweise Swiftmailer. Da kannst du einfach einen Array übergeben und dann werden an alle Adresse Mails versandt.


    2) Bei Input musst du die Adresse innerhalb von


    PHP
    1. <?php echo '<input name="email" type="email" value="'.$value.'">'; ?>


    oder


    PHP
    1. <input name="email" type="email" value="<?php echo $value; ?>">


    und bei textarea innerhalb die beiden HTML-Tags <textarea> und </textarea>


    1) Weiss nicht was du meinst.

  • wall-e
    Zuerst einmal vielen Danke für Deine Hilfe! 8)


    Zitat

    Für 3 empfehle ich dir einen Mailer wie beispielsweise Swiftmailer. Da kannst du einfach einen Array übergeben und dann werden an alle Adresse Mails versandt.


    Das wäre sicher eine möglichkeit, aber es besteht schon ein Backend (Adminbereich) und genau in diesen möchte ich gerne mit einen einzigen Formular, an ALLE in der Datenbank vorhandenen Email-Adressen eine Email (Newsletter) versenden. Jedoch fällt es mir ehrlich gesagt etwas schwer dieses zu bewerkstelligen, da ich ...
    1) solches noch nicht gemacht habe, und
    2) wenn es tausende von Emails geben würde, dass dann mit einer Schleife, die max.Zeit umgehen werden müsste
    Nur ist die Frage, wie üblich, "wie"?


    Zitat

    <input name="email" type="email" value="<?php echo $value; ?>">


    Dies wäre dann für mein schon bestehendes Formular im Backend (Adminbereich). So weit so klar. Dann müsste ich jetzt nur noch die von Dir genannte Textarea so anpassen das auch der eingegebene Text an die Email(s) versendet werden. Nur fehlt dazu noch das o.g. aus dem ersten kommentierten Zitat.


    Zitat

    1) Weiss nicht was du meinst.


    Dann habe ich mich wohl wirklich nicht klar und deutlich genug mit meinen Problemchen ausgedrückt :(
    Meine vorherigen Worte ...

    Zitat

    1)
    Den Absender aus der ausgelesenen Datenbank als Empfänger in das bestehende Formular bekomme


    Dies sollte nicht bedeuten wie ich die Email IN die Datenbank bekomme, denn das ist bereits schon funktionstüchtig eingebaut. Doch hierbei ging es mir, wie dem schon bereits genannten, Backend (Adminbereich). Dort werden die Emails aus der Datenbank zum einen ausgelesen und auch in einer Liste angezeigt. Nur sollten die eben ALLE als Empfänger in das Formular eingefügt und dann an ALLE versendet werden. Ich denke, dass man die Emails alle in einen Array einlesen könnte und dann die max.Zeit auf irgend eine Weise umgehen, so das es mit PHP möglich ist, alle einen Newsletter (Email) zukommen zu lassen.


    Ich hoffe, dass ich mich jetzt ein wenig verständlicher ausgedrückt habe und bitte mein versehen (Nicht Absender sondern Empfänger) zu entschuldigen ;)


    Gruss

  • Ich würde für jeden Empfänger eine E-Mail generieren, also nicht "ALLE" als Empfänger, sondern jeder einzeln als Empfänger.
    Dann kannst Du die E-Mails mit mail() oder etwas umfangreicher/einfacher mit PHPMailer verschicken.


    Vor allem bei "tausende von Emails" solltest Du aber einige Punkte beachten, wie die maximale Anzahl an E-Mails pro Minute/Stunde, einen vernünftigen Absender usw.
    Ansonsten kann es leicht passieren, dass Dein Server irgendwo als Spam-Server eingestuft wird. Für diesen Fall hatte ich von meinem Hoster sehr gute Infos bekommen.

    Grüße vom Griechen,
    Cybergreek!