ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Keine News-Mails

Geschlossen
  1. #1
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    Ich habe bei meinem Freehoster einstellen müssen daß über "KILU" Mails versendet werden dürfen. habe dazu dort meine GMail-daten hinterlegt.
    Seit dem funzt es damit die User sich registrieren können und auch die dementsprechende Bestätigungsmail bekommen.
    Wenn ich allerdings im Adminbereich nen "Newsletter" erstelle, werden zwar ... in meinem Fall 12... Emails verschickt, und ich selber bekomme sie auch. Ich sehe auch daß sie direkt an mich gesendet wurde und im BCC Feld stehen die 11 anderen Mail-empfänger. Allerdings hat keiner von denen die Mails erhalten. Woran kann das liegen??


    verwendete ilchClan Version: 1.1 P

    betroffene Homepage: socclan.1x.de
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    So, ewig rum probiert... selbst wenn ich einstelle daß NUR Member (ohne höhere Rechte)eine Mail bekommen sollen, kommt trotzdem eine Mail bei mir als Admin an. Aber eben KEIN anderer bekommt die Mail o.O
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nein das liegt dann einfach am Newsletter(modul), bzw. auch daran, dass das BCC Feld wohl von KILU oder GMail nicht interpretiert wird.

    Als workaround, kannst du alle E-Mails einzeln verschicken. Könnte allerdings bei sehr viel Adressaten zu Problemen führen.

    Dazu die Zeile 110 in der admin/newsletter.php
            	icmail ($emails , $_POST['bet'], $_POST['txt'], '', isset($_POST['html']));

    zu
    foreach($emails as $email) {
        icmail ($email , $_POST['bet'], $_POST['txt'], '', isset($_POST['html']));
    }

    ändern.


    Zuletzt modifiziert von Mairu am 10.09.2013 - 07:24:59
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    ich kann keine Zeile finden die eben genau so aussieht o.O :-(
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function XAJAX_changeList($select) {
        $objResponse = new xajaxResponse();
    
        if ($select == 'Normal') {
            $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="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeB .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }elseif (strpos($k, 'g') !== false) {
                    $listeT .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeT .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }
            }
    
            $content =
            <<<END
                <select id="nl_auswahl" name="auswahl">
                    <option value="Enews" selected="selected">eMail Newsletter</option>
                    <optgroup label="Benutzer">
                        {$listeB}
                    </optgroup>
                    <optgroup label="Gruppen">
                        {$listeT}
                    </optgroup>
        		</select>
    END;
        	$objResponse->assign('cb_html_cont', 'style.display', '');
        }else {
            $erg = db_query("SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC");
            $listeG = '';
    
            while ($row = db_fetch_assoc($erg)) {
                $listeG .= '<optgroup label="' . $row['name'] . '">';
                $listeG .= '<option value="Pr' . $row['id'] . '"> PrivMsg</option>';
                $listeG .= '<option value="Er' . $row['id'] . '"> eMail</option>';
                $listeG .= '</optgroup>';
            }
    
            $content =
            <<<END
                <select name="auswahl" id="nl_auswahl">
                    <option selected="selected" disabled="disabled">Bitte treffen Sie eine Auswahl</option>
                        {$listeG}
                </select>
    			<input type="checkbox" name="andhigher" id="cb_andhigher" value="1" />
    			<label for="cb_andhigher">und für alle höheren Rechte</label>
    END;
        }
    
        $objResponse->assign('list', 'innerHTML', $content);
    	$objResponse->setEvent('nl_auswahl', 'onchange', 'checkEmail();');
        return $objResponse;
    }
    
    $xajax = new xajax('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . '?newsletter=0');
    $xajax->configureMany(array('characterEncoding' => 'ISO-8859-1', 'decodeUTF8Input' => true));
    
    $xajax->registerFunction('XAJAX_changeList');
    $xajax->processRequest();
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (isset($_POST['SEND']) and chk_antispam('newsletter', true)) {
        $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 ($usrogrp == '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'";
        } elseif ($usrogrp == 'r') {
            $q = "SELECT `email`,`id` as `uid` FROM `prefix_user` WHERE `recht` ".(isset($_POST['andhigher']) ? '<' : '')."= '" . substr($_POST['auswahl'], 2, strlen($_POST['auswahl']) - 1) . "'";
        }
    
        $erg = db_query ($q);
    
        $zahler = 0;
    
        if (db_num_rows($erg) > 0) {
            if ($mailopm == 'E') {
            	$emails = array('bbc', $allgAr['adminMail']);
    			while ($row = db_fetch_object($erg)) {
    				if (!in_array($row->email, $emails) and preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' .
    				'(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $row->email) == 1) {
    					$emails[] = $row->email;
    					$zahler++;
      				}
            	}
            	icmail ($emails , $_POST['bet'], $_POST['txt'], '', 'on');
            } elseif ($mailopm == 'P') {
            	$uids = array();
    			while ($row = db_fetch_object($erg)) {
                	$uids[] = $row->uid;
            		$zahler++;
            	}
    			sendpm($_SESSION['authid'], $uids, escape($_POST['bet'], 'string'), escape($_POST['txt'], 'string'), -1);
    		}
    
            if ($mailopm == 'E') {
                $eMailorPmsg = 'eMail(s)';
            } elseif ($mailopm == 'P') {
                $eMailorPmsg = 'Private Nachrichte(n)';
            }
    
            wd('admin.php?newsletter', 'Es wurde(n) ' . $zahler . ' ' . $eMailorPmsg . ' verschickt.', 5);
        } else {
            wd('admin.php?newsletter', 'F&uuml;r diese Auswahl konnte nichts gefunden werden.', 5);
        }
    } else {
        echo $xajax->printJavascript();
        $tpl = new tpl ('newsletter', 1);
        $tpl->set_out('antispam', get_antispam('newsletter', 0, true), 0);
    }
    
    $design->footer();
    
    ?>


    Und alle änderungen, wo ich der Meinung war "dit sollte passen" brachten eine php-Fehlermeldung.


    Zuletzt modifiziert von trejay am 11.09.2013 - 00:17:20
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    ist doch bei dir zeile 111
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    So, wurden anscheinend versendet und kamen auch an.
    Nur die Meldung daß "X" Mails versendet kam nicht. Und es kam stattdessen nach ner ganzen weile ne Fehlermeldung daß die seite nicht aufrufbar ist.
    zudem kam die "Testmail" mit vielen "P's" an. siehe:
    <p>Hallo,</p>
    <p>Hier mal wieder eine Testmail, bitte mal &uuml;ber den Erhalt dieser Mail bescheidgeben.</p>
    <p>Danke</p>
    <p>Trejay</p>

    anscheinend kam sie zum teil auch 2 mal an.


    Zuletzt modifiziert von trejay am 11.09.2013 - 20:09:10
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    So, mit dem <p> habe ich so gelöst, einfach im Editor, vor dem Schreiben einmal auf "quellcode" klicken. ber die mail kommen trotzdem noch doppelt an, und es kommt keine versanbestätigung der Seite .... bzw gibts irgendwann einen timeout.
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also verschickt werden sollte sie nur einmal, es sollten auch wenn E-Mail-Adressen doppelt verwendet worden sind, nur eine Mail kommen.

    Das Timeout kommt halt, wenn es zuviele E-Mail-Adressen sind. Wenn es die Konfiguration zulässt, kannst du mit set_timeout(0); das Timeout deaktivieren.

    Es immer nur häppchenweise abzuschicken, ist etwas komplizierter.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten