E-Mails in Schleife versenden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • E-Mails in Schleife versenden

    hallo ihr lieben

    und wieder mal ein problem und zwar komme ich an einer stelle nicht weiter.ich soll emails versenden mit angebenen daten.
    es war für mich kein problem eine email zu versenden jedoch sollen vier weitere emails dazu kommen mit verschieden empfängern jedoch mit dem gleichen inhalt.
    ich habe vorname1 bis vorname5 und email1 bis email5 weiss nicht wie ich die vornamen2 /email2 bis vorname5/ email5 einfügen soll.
    kann mir jemand bitte helfen.


    Quellcode

    1. <?php
    2. $look="";
    3. $file=fopen("antwort.txt","r");
    4. $size=filesize("antwort.txt");
    5. $look=fread($file,$size);
    6. fclose($file);
    7. // Ersetzungen
    8. $look=str_replace("<!--vorname geworbener-->",$vorname1,$look);
    9. $look=str_replace("<!--Vorname Empfehlender-->",$vorname,$look);
    10. $empfänger=$email1;
    11. $betreff="USERRALLY";
    12. // $text=$vorname." ".$nachname." hat uns folgende Neukunden gesendet";
    13. $absender=$vorname." ".$nachname;
    14. mail($empfänger,$betreff,$look,"FROM: ". $absender);
    15. echo $email1."/n ";
    16. echo $look."/n ";
    17. echo $vorname1."/n ";
    18. echo $vorname."/n ";
    19. ?>
    Alles anzeigen


    das ist mein ansatz, damit verschickt er bereits eine email die auch ankommt nur die anderen vier nicht die fehlen.kommnicht weiter weiss nicht wie ich sie einbinden soll.


    vielen lieben dank!
    dat fienchen
  • Hallo!

    woher kommen denn die daten der email empfänger?

    aus einer datenbank? textdatei?

    je nach dem musst du dir die schleife basteln.

    es gibt aber afaik auch die möglichkeit mehrere empfänger direkt anzugeben.

    ansonsten eben wie schon gesagt mit ner schleife, bei der du in jedem durchlauf nen anderen empfänger angibst und die mail abschickst.

    wenn die adressen aus einer db kommen, kannst du einfach alle entsprechenden einträge aus der db zählen und dann mit der schleife als index durchlaufen.

    z.b. so:

    Quellcode

    1. $empf = array('add1','add2','add3',...usw);
    2. $x = $anzahl_der_empfänger;
    3. for ($i = 1;$i <= $x; $i++)
    4. {
    5. send_mail($empf[$i]); // falls der text fest steht und nicht so geändert werden muss, sonst halt parameter mit angeben
    6. }


    zumindest vom prinzip her sollte es so funzn...
    $empf kannst du auch mit mysql_fetch_array() aus ner db abrufen


    hoffe das hilft, ansonsten nochmal fragen ;)

    mfg da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • ganz ruhig, das bekomm wir schon hin :)

    also: wichtig zu wissen wäre wie die daten in der datei aussehen. sprich welche trennzeichen benutzt werden, ob weitere daten drin stehen die gebraucht werden oder auch nicht.

    könntest du mal ein paar zeilen aus der datei hier posten?

    außerdem wäre es sinnvoll eine funktion zu bauen, da du das verschicken ja öfters brauchst. ich meine jetzt nicht die mail() funktion von php, sondern den code z.b. den du in deinem ersten posting stehen hast. hab ihn mir nicht genau angeschaut, aber da lässt sich sicher noch einiges "optimieren" :D
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!

  • <html>
    <head>
    <title>Formular</title>
    </head>

    <body bgcolor="#001234" text="#FFFFFF">

    <h1 align="center">Seite 2 Startseite nach Login<br></h1>
    Du kannst nun bis zu 5 Leute eintragen, die Du
    als Abonnenten für die OZ von MEDI-LEARN und/oder für den Gewinnspiel-Newsletter von MEDI-LEARN werben willst<br><br><br><br>
    <form action="mail.php" method="POST">

    <table cellspacing="2" cellpadding="2" border="0" align="center">
    Gib hier nun deinen vollständigen Namen ein:
    <br><br>
    <tr>
    <td>Vorname:</td>
    <td><input type="text" name="vorname" size="29"></td>
    </tr>

    <tr>
    <td>Nachname:</td>
    <td><input type="text" name="nachname" size="29"></td>
    </tr>
    </table>
    <br>
    <br>

    <table cellspacing="2" cellpadding="2" border="0" align="center">
    Gib nun bitte die Vornamen und E-Mail-Adressen der Leute an, die du werben willst
    <br>
    <br>

    <tr>
    <td>Vorname/E-Mail-Adresse:</td>
    <td><input type="text" name="vorname1" size="29"> <input type="text" name="email1" size="29"></td>
    </tr>
    <tr>
    <td>Vorname/E-Mail-Adresse:</td>
    <td><input type="text" name="vorname2" size="29"> <input type="text" name="email2" size="29"></td>
    </tr>
    <tr>
    <td>Vorname/E-Mail-Adresse:</td>
    <td><input type="text" name="vorname3" size="29"> <input type="text" name="email3" size="29"></td>
    </tr>
    <tr>
    <td>Vorname/E-Mail-Adresse:</td>
    <td><input type="text" name="vorname4" size="29"> <input type="text" name="email4" size="29"></td>
    </tr>
    <tr>
    <td>Vorname/E-Mail-Adresse:</td>
    <td><input type="text" name="vorname5" size="29"> <input type="text" name="email5" size="29"></td>
    </tr>
    </table>
    <br>
    <br>
    <table cellspacing="2" cellpadding="2" border="0" align="center">

    Wofür willst du werben?
    <br>
    <br>

    <tr>
    <td width="20%">&nbsp&nbsp</td>
    <td align="left" width="80%">&nbsp&nbsp<input type="checkbox" name="oz" value="Onlinezeitung von MEDI-LEARN" checked>&nbspOnlinezeitung von MEDI-LEARN</td>
    </tr>

    <tr>
    <td width="20%">&nbsp&nbsp</td>
    <td align="left" width="80%">&nbsp&nbsp<input type="checkbox" name="news" value="Gewinnspiel-Newsletter von MEDI-LEARN" checked>&nbspGewinnspiel-Newsletter von MEDI-LEARN</td>
    </tr>
    <tr>
    <td colspan="2" align="center"><br><input type="submit" value="Empfehlung senden"></td>
    </tr>
    </table>
    </form>

    </body>
    <html>


    das ist mein formular in der sich die user die bereits bestehen neue kunden werben
  • ok, ich verstehe.

    es sind allso maximal 5 email adressen, die der benutzer angeben kann.

    d.h. für dich, das du prüfen musst, wieviele email adressen er nun eingegeben hat.

    am besten benutzt du dafür reguläre ausdrücke die die eingegebenen adressen auf gültigkeit prüfen.

    google sollte dazu einiges finden z.b. [google]http://www.google.com/search?hl=de&q=php+mail+adressen+pr%C3%BCfen&btnG=Suche&lr=[/google]


    Quellcode

    1. $empf = array($_REQUEST['email1'],$_REQUEST['email2'],$_REQUEST['email3'],$_REQUEST['email4'],$_REQUEST['email5']);
    2. $x = count($empf);
    3. for ($i = 1;$i <= $x; $i++)
    4. {
    5. //prüfen ob leer ODER mit regulären ausdruck prüfen
    6. if($empf[$i] != "")
    7. {
    8. send_mail($empf[$i]);
    9. }
    10. }
    Alles anzeigen


    die if anweisung innerhalb der schleife am besten durch ein regulären ausdruck jagen, der dir zurück gibt ob die adresse gültig ist oder nicht.
    wenn gültig, dann abschicken, wenn ungültig, fehlermeldung an den benutzer

    hoffe das hilft erstmal

    [edit]

    hier was um mail adressen zu prüfen:
    aktuell.de.selfhtml.org/artikel/programmiertechnik/email/

    ^^ im abschnitt php steht der code + anwendung
    (nicht getestet, sieht aber brauchbar aus)

    [/edit]
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!