1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

(PHP) Mailversand

Dieses Thema im Forum "PHP & Co." wurde erstellt von Tyrra, 17.07.09.

  1. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Hallo, wie kann ich es anstellen das der Mailversender einen von mir eingestellten Alias verwendet? (z.b. anstatt anonymus@....)
    Ich habe es über $absender versucht aber das geht irgendwie nicht.

    Zweite Aufgabe ist das die Mail nur an die jeweils Zuständigen des Beitrages versendet wird. Es soll alo in der DB nachgeschaut werden ob $zustaendig_1, $zustaendig_2, $zustaendig_3, $zustaendig_4 einen Inhalt haben und wenn ja soll in der DB unter User die mailadresse hergenommen werden. Kann mir dabei jemand helfen?

    Hier mal das Script vom Mailversand:

    //automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
    mysql_select_db("lohi_marketing");
    $sql = "SELECT * FROM users";
    $result = mysql_db_query($db, $sql);

    $absender = 'From: ' . "\r\n" ;
    $nachricht = $kommentare;
    $nachricht = wordwrap($nachricht, 70);
    $hint = "Diese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

    $row=0;
    while ($usermail=mysql_result($result, $row, "usermail"))
    {
    mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $hint, $nachricht);
    $row++;
    }
    //mailversand ende


    Im Anhang habe ich mal den ganzen Code hochgeladen.
     
    #1 Tyrra, 17.07.09
    Zuletzt bearbeitet: 17.07.09
  2. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");
     
  3. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Danke! Hab es versuch folgendermaßen um zusetzen:

    mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $hint, $nachricht, "From: Absender <Marketing-Aufgabendefinition@vps.lohi.de>");

    Klappt aber leider so nicht.
     
  4. torben1

    torben1 Süsser Pfaffenapfel

    Dabei seit:
    05.08.08
    Beiträge:
    661
    Ich denke das liegt daran das Deine Parameter nicht Stimmen (Anzahl/Reihenfolge). Was steckt in $hint?

    Torben
     
  5. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    und zum zweiten problem: (insofern ich es richtig verstanden habe...)

    while ($usermail=mysql_fetch_array($result))
    {
    if($usermail["zustaendigkeit_1"] <> '' OR $usermail["zustaendigkeit_2"] <> '' OR $usermail ["zustaendigkeit_3"] <> ''){
    mail($usermail["email"], "Marketing Aufgabendefinition - Kommentar von ".$userkennung." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
    }
    }
    Rotes musst du natürlich durch die entsprechenden Tabellenfeldnamen ersetzen. ;) Weiß ja nich wie deine Tabellenstruktur aussieht.

    Achja... $hint muss raus ;) Dann klappts auch mit dem Versand.

    [EDIT]
    Wenn du $hint trotzdem am Ende der Nachricht haben willst, änder deinen Code einfach folgendermaßen:

    $nachricht = $kommentare;
    $nachricht = wordwrap($nachricht, 70);
    $nachricht .= "\n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";
    [/EDIT]
     
    #5 MaxiMillion, 17.07.09
    Zuletzt bearbeitet: 17.07.09
  6. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    LOL, stimmt ohne $hint gehts :) ... allerdings ist $hint ein netter Spruch unter der mail welcher eigentlich schon drinnen sein sollte.

    EDIT: supi!
     
  7. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Hab doch gepostet, dass $hint trotzdem drin ist bzw. wie du das machst! ;)
     
  8. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    dann schreib ihn in die Mail und nicht in den Funktionsaufruf.
     
  9. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    ach und ich würd diese Mailadressen hier rauseditieren - Crawler greifen sich die sonst und schicken viel Spam…
     
  10. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Passt alles mit dem Mailversand - Danke Leute!!!!

    EDIT jetzt greif ich mal das zweite Problem an - das nur an die jeweils Zuständigen versand wird.
     
  11. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Auch dieses Problem hab ich doch schon in meinem Post gelöst! Les ihn doch bitte einfach mal Aufmerksam durch! ^^"
     
  12. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    hab ich hab ich ;) das Problem ist nur das zustaendig_1 bis 4 nur einen Namen enthalten. Die Usermails sind in einem neuen Table "users" drinnen. ich weis nicht wie ich die Verbindung herstellen kann das wenn in zustaendig_1 ein name drinnen steht automatisch auf den jeweiligen User und dessen Mailadresse zugegriffen werden kann.
     
  13. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Sag mir mal deine Tabellenstrukturen dann sag ich dir wie du es machst! ;)
    Also: Tabelle Users mit Feldern und Tabelle Zuständigkeiten mit Feldern.
    Allgemein bleibt aber zu sagen: Ich würde niemals Namen als Verknüpfung nehmen, sondern immer id's. Dann kannste die Namen ändern wie du willst und die Verknüpfung bleibt bestehen.
     
  14. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Hilft dir evtl. ein lerer dump?
     
    #14 Tyrra, 17.07.09
    Zuletzt bearbeitet: 02.09.09
  15. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    $query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
    $result = @mysql_query($query);
    while($row = mysql_fetch_array($result)){
    mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
    }

    So in etwa müsste es klappen, is jetz fix geschrieben und ungetestet... Wenns nich klappt guck ichs mir später nochma genauer an.

    Grüße.
     
  16. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    //automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
    mysql_select_db("lohi_marketing");
    $sql = "SELECT * FROM users";
    $result = mysql_db_query($db, $sql);

    $nachricht = $kommentare;
    $nachricht = wordwrap($nachricht, 70);
    $nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

    $row=0;
    while ($usermail=mysql_result($result, $row, "usermail"))
    {
    $query = "SELECT data.zustaendig_1, data.zustaendig_2, data.zustaendig_3, data.zustaendig_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendig_1 = users.UserName OR data.zustaendig_2 = users.UserName OR data.zustaendig_3 = users.UserName OR data.zustaendig_4 = users.UserName";
    $result = @mysql_query($query);
    while($row = mysql_fetch_array($result)){

    mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $nachricht, "From:<Marketing-Aufgabendefinition@lohi.de>");
    $row++;
    }
    }
    //mailversand ende


    EDIT: ne klappt leider nicht - irgendwie kommen immer noch an alle Mails an und es dauert ewig bis die Bestätigungsseite kommt

    EDIT EDIT: es wurden über 2000 Mails verschickt!!!!
     
  17. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    du sollst ja auch nur meine while nehmen. und nich deine auch noch ^^ also so:

    //automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
    mysql_select_db("lohi_marketing");

    $nachricht = $kommentare;
    $nachricht = wordwrap($nachricht, 70);
    $nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

    $query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
    $result = @mysql_db_query($db, $query);
    while($row = mysql_fetch_array($result)){
    mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
    }

    teste das mal bitte.
     
  18. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    OK - bin grade beim testen

    php ----------------------------

    //automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
    mysql_select_db("lohi_marketing");

    $nachricht = $kommentare;
    $nachricht = wordwrap($nachricht, 70);
    $nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

    $query = "SELECT data.zustaendig_1, data.zustaendig_2, data.zustaendig_3, data.zustaendig_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendig_1 = users.UserName OR data.zustaendig_2 = users.UserName OR data.zustaendig_3 = users.UserName OR data.zustaendig_4 = users.UserName";
    $result = @mysql_db_query($db, $query);
    while($row = mysql_fetch_array($result)){
    mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From:<Marketing-Aufgabendefinition@lohi.de>");
    }
    //mailversand ende


    EDIT: Bekomme keine Fehlermeldung aber es kommt auch keine Mail an!
     
  19. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Ich gucks mir gegen 13:30 nochma an dann hab ich mittagspause.
     
    Tyrra gefällt das.
  20. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    werde dann am Montag weiter einbauen - Danke nochmal für deinen Einsatz!!!
     

Diese Seite empfehlen