ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Newsletter als Mailingliste mißbrauchen

Geschlossen
  1. #1
    User Pic
    Sedonion Mitglied
    Registriert seit
    03.05.2006
    Beiträge
    31
    Beitragswertungen
    0 Beitragspunkte
    Hi Zusammen,

    möchte für die User eine Funktion einbauen eine Mail an alle User zu verschicken.

    Habe mir den Newsletter als Modul eingebaut, verrechtet und verlinkt. Die User haben dann Zugriff drauf.

    Nun wollte ich es vereinfachen, damit keiner ausversehen PMs nutzt oder einen Newsletter verschickt. Habe versucht die Verweise auf den Newsletter und die PMs zu löschen.
    Nun tauchen auch nur die Punkte Mail an alle User und Mail an Gruppen auf.
    Dennoch habe ich sicherlich die Funktion des Scriptes gekillt. Wer kann mir sagen wo ich da ansetzen muss?

    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    if ( empty ($_POST['SEND']) ) {
    
    
    $auswahl = array (
    	'u0'   => 'an alle User',
    );
    
    $erg = db_query("SELECT name,id FROM prefix_groups ORDER BY id");
    while ($RRrow = db_fetch_object($erg)) {
      $auswahl['g'.$RRrow->id]= $RRrow->name;
    }
    $listeB = '';
    $listeT = '';
    foreach ( $auswahl as $k => $v ) {
      if (strpos($k,'u') !== false) {
    		$listeB .= '<option value="E'.$k.'">'.$v.' eMail</option>'."\n";
    	} elseif ( strpos($k,'g') !== false) {
    		$listeT .= '<option value="E'.$k.'">'.$v.' eMail</option>'."\n";
    	}
    
    }
    
    ?>
    
    <table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="include/images/icons/admin/newsletter.png" /></td><td width="30"></td><td valign="bottom"><h1>Mailingliste</h1></td></tr></table>
    
    
    <form action="admin.php?mailingliste" method="POST">
    
    
    <table width="100%" border="0" cellspacing="1" cellpadding="2" class="border">
        <tr> 
          <td colspan="2" height="25" class="Cdark">Hier kannst du eine Mail an alle verschicken!</td>
        </tr>
        <tr> 
          <td class="Cmite"><b>Ausw&auml;hlen</b></td>
          <td class="Cnorm">
    			    <select name="auswahl">
    							<optgroup label="Benutzer">
    							  <?php echo $listeB; ?>
    							</optgroup>
    							<optgroup label="Gruppen">
    							  <?php echo $listeT; ?>
    							</option>
    			    </select>
    			</td>
        </tr>
        <tr> 
          <td class="Cmite"><b>Betreff</b></td>
          <td class="Cnorm"> 
            <input type="text" name="bet" size="50">
          </td>
        </tr>
        <tr> 
          <td class="Cmite" valign="top"><b>Text</b></td>
          <td class="Cnorm"> 
            <textarea cols="50" rows="10" name="txt"></textarea>
          </td>
        </tr>
        <tr class="Cdark"> 
          <td>&nbsp;</td>
          <td> 
            <input type="submit" value="Absenden" name="SEND">
          </td>
        </tr>
      </table>
    </form>
    
    <?php
    
    
    } else {
    
      $mailopm = substr($_POST['auswahl'],0,1);
      $usrogrp = substr($_POST['auswahl'],1,1);
      
    	if ( $_POST['auswahl'] == 'Enews' ) 
    	{
    			$q = "SELECT email FROM prefix_newsletter";
    	}
    	elseif ( $usrogrp == 'u' ) 
    	{
    			$q = "SELECT email, name as uname, id as uid FROM prefix_user WHERE recht <= -1";
    	}
    	elseif ( true == strpos($_POST['auswahl'],'g') )
    	{
          $gid = substr ( $_POST['auswahl'], 2 , strlen ( $_POST['auswahl'] ) -1 );
          $q = "SELECT b.email, b.name as uname, b.id as uid FROM prefix_groupusers a LEFT JOIN prefix_user b ON a.uid = b.id WHERE a.gid = ".$gid;
    	}
    	
      
    	$erg = db_query ( $q );
    	
    	$zahler = 0;
      if ( db_num_rows($erg) > 0 ) 
    	{
    	    while ($row = db_fetch_object($erg) )
          {
    	        if ( $mailopm == 'E' ) 
    		      {
    				      icmail ( $row->email ,$_POST['bet'],$_POST['txt'] );
    		      } 
    		      elseif ($mailopm == 'P' ) 
    		      {	
                  sendpm($_SESSION['authid'], $row->uid, escape($_POST['bet'], 'string'), escape($_POST['txt'], 'string'));
    		      }
              $zahler++;
    			}
          if ( $mailopm == 'E' ) {
            $eMailorPmsg = 'eMail(s)';		
          } elseif ($mailopm == 'P' ) {	
            $eMailorPmsg = 'Private Nachrichte(n)';			
          }
    			echo 'Es wurde(n) '.$zahler.' '.$eMailorPmsg.' verschickt';
    			
    	}
    	else
    	{
    	    echo 'F&uuml;r diese Auswahl konnte nichts gefunden werden';
    	}
    	
    }
    
    $design->footer();
    ?>


    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Ehrlich gesagt verstehe ich nicht so ganz was du willst, also was deine Frage soll.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Sedonion Mitglied
    Registriert seit
    03.05.2006
    Beiträge
    31
    Beitragswertungen
    0 Beitragspunkte
    Also nochmal:

    Jeder User soll eine Mail an alle User verschicken können.

    Im Newsletter Script ist diese Option neben anderen (Newsletter, PMs) enthalten.

    Um die User nicht zu verwirren sollen aber keine anderen Optionen vorhanden sein, sondern nur eine Mail an alle User.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    Würd ich nieeemals machen..

    1. Traffic vom server
    2. bist DU für die mails von deiner seite verantwortlich
    3. spam, spam, spam
    4. würd mir sicher auch noch einfallen... will jetzt aber nimmer^^
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Sedonion Mitglied
    Registriert seit
    03.05.2006
    Beiträge
    31
    Beitragswertungen
    0 Beitragspunkte
    Mit User meine ich die angemeldeten Personen. Da es die Seite eines Billardvereines ist und die Registrierung abgeschaltet ist, bekommen ohnehin nur Vereinsmitglieder einen Login.

    Somit fallen die Argumente Traffic und Spam weg.

    Momentan wird als Mailverteiler eine Yehoo Group genutzt, aber die finde ich schlecht zu verwalten und mit Werbung voll.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Also du hast versucht das Newsletterscript anzupassen, aber es funktioniert oder wie?
    Was du wolltest habe ich schon vorher verstanden, nur dein Problem nicht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Sedonion Mitglied
    Registriert seit
    03.05.2006
    Beiträge
    31
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Sedonion

    Nun tauchen auch nur die Punkte Mail an alle User und Mail an Gruppen auf.
    Dennoch habe ich sicherlich die Funktion des Scriptes gekillt. Wer kann mir sagen wo ich da ansetzen muss?


    Wenn ich eine Mail verschicke werde ich auf die Startseite weitergeleitet, keine Bestätigung.
    Ebenso kommt keine der Mails an.
    Vermute da laufen if Abfragen ins Leere oder ein Array haut nicht mehr hin etc.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Warbird Mitglied
    Registriert seit
    19.03.2007
    Beiträge
    1
    Beitragswertungen
    0 Beitragspunkte
    Hallo Sedonion..

    Zum einen wundert es mich, das deine Jungs auf die Seite überhaupt Zugriff haben, wegen dem
    "defined ('admin') or die ( 'only admin access' ); "

    Rufst du das skript denn auch über "...admin.php?newsletter" auf?

    oder hast du das in den Content Ordner rüber geschoben?

    Probier mal wenn du

    a) das defined ('admin')... auskommentierst
    b) den Bereich

    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();

    durch

    $title = $allgAr['title'].' :: Mailingliste';
    $hmenu = 'Mailingliste;
    $design = new design ( $title , $hmenu );
    $design->header();

    ersetzt

    c) bei Zeile

    <form action="admin.php?newsletter" method="POST">

    in

    <form action="index.php?newsletter" method="POST">

    änderst.

    und d) die so gestaltete neue Newsletter.php im Content Ordner speicherst und entsprechend verlinkst.


    Ich vermute der Fehler kommt unter anderem deswegen weil der normale Nutzer meines wissens keinen Zugriff auf die admin.php hat, die du ja als Post Ziel für das Formular drin hast.

    LG
    Jörg
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten