anpera.net
https://anpera.homeip.net/phpbb3/

Massenmails
https://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=3550
Seite 1 von 1

Autor:  Drazaar [ Fr 06 Apr, 2007 13:46 ]
Betreff des Beitrags:  Massenmails

Einbau:

Öffne: superuser.php
Suche:
[php]addnav("Statistiken","stats.php");[/php]
Füge darunter ein:
[php]addnav('Massenmails','massmail.php');[/php]
Speichern, schließen & hochladen. massmail.php in den Root Ordner kopieren.


Funktion:

- Versenden von YoMs
- Versenden von E-Mails
- Auswählen von verschiedenen Spielergruppen




Das Script benötigt diese Erweiterung!

Fehler und Bugs können auftreten, aber ich habe es *eigentlich* recht ausführlich getestet. Weiß allerdings nicht, ob es ein solches System hier schon einmal gab. Wenn ja, Pech, dann gibt's nun 2 ^^

Feedback erwünscht,
MfG Draz

€: Das System enthielt nen schweren Bug (for Schleife vergessen), der verursachte, dass nur 1 Mail an den User mit der niedrigsten acctid geschickt wurde.
Ist nun aber gefixed.

Dateianhänge:
Dateikommentar: Massenmails V1.0.2
massmail.zip [1.75 KIB]
467-mal heruntergeladen

Autor:  Kevz [ Fr 06 Apr, 2007 15:01 ]
Betreff des Beitrags: 

Ich würde vllt. die Header- Daten hinzufügen, um somit auch einen Versand der E-Mail zu sichern. Denn die meisten werden direkt als Spam- behandelt.

Autor:  Drazaar [ Fr 06 Apr, 2007 16:30 ]
Betreff des Beitrags: 

Da hast du recht. Das System mit den E-Mails habe ich allerdings auch nicht gut ausgearbeitet, da ich mich damit kaum auskenne :/

Autor:  Calamita [ Sa 01 Dez, 2007 02:55 ]
Betreff des Beitrags: 

Oh man, ich schon wieder :roll:

Also erstmal: Gute Sache, kann ganz praktisch sein^^

Aber bei mir isses nun so, dass ich mehrer Superusergruppen habe. (7 insgesamt^^) Und da kann es ja mal vorkommen, dass ich dem einen Teil was schreiben will, was net unbedingt alle anderen mitlesen sollen. Aber wie das nun aussieht, werden die ja an alle "höheren" Superuser auch geschickt. Wie kann ich es nun anstellen, dass nur die "Götter" und diejenigen, an die es addressiert ist die Mails bekommen?

Autor:  Kevz [ Sa 01 Dez, 2007 10:19 ]
Betreff des Beitrags: 

Dazu müsstest Du ein teil innerhalb des Code ändern. Und die Gruppe dann ggf. neu Hinzufügen. Habe aber "nicht wirklich" den Code eingesehen, musst also auf den Autor o.Ä. Supporter warten. Sorry. =( (no time dafür)

Autor:  Dinarius [ Sa 01 Dez, 2007 22:56 ]
Betreff des Beitrags: 

das wäre das Original was es auf jeden Fall zu erweitern gilt.
[php]case 5:
$sqladd = ' AND `superuser` > "2"';
break;[/php]

zum einen sollte die "casenummer" angepaßt werden, und die "superusergruppennummer", zumindest soweit deine Gruppen unterteilt und es noch Sinn machen würde.

Schließlich heißt es ja Massenmail und nicht Nachricht für zwei Chara´s ... Aber nagut, wer es braucht.
Und sollte so auch nur funxen, für die dann "angeklickte" Gruppe und übergeordnete.
Für eine direkte Anwahl, würde ich dann vielleicht eher auf ein Gleichheitszeichen setzen...
Nur ob sich dann ein caseausbau in der Form lohnt, der alle Eventualitäten abdecken kann. Liegt im Auge des Betrachters...

(ungetest und nur Gedankenanstoß)

MfG Dinarius

[php] <td><select name="users">
<option selected value="1">Alle User</option>
<option value="2">Keine Teammitglieder</option>
<option value="3">Nur Superuser>=1</option>
<option value="4">Nur Superuser>=2</option>
<option value="5">Nur Superuser>=3</option>
</select></td>[/php]
dies dann ebenso erweiteren, hab ich noch vergessen.

Autor:  Drazaar [ So 02 Dez, 2007 03:46 ]
Betreff des Beitrags: 

Es kann am kürzlich konsumierten Alkohol liegen, aber ich kapiere nicht wirklich, auf was du hinweisen willst...

Autor:  Harthas [ So 02 Dez, 2007 03:55 ]
Betreff des Beitrags: 

Ich glaube, dass er damit in erster Linie Calamita zeigen wollte, wo sie denn die Änderungen anbringen müsste.

Allerdings habe ich eine Frage. Wieso setzt du die Zahlen in Anführungs und Schlusszeichen?

Sie sind ja integer, und keine Strings.

[php]$players = db_num_rows($result);
for($i=0;$i<db_num_rows($result);$i++){[/php]
Hier sollte man wohl auch eine kleine Schönheitskorrektur vornehmen ;-) Kommt insgesamt 2 Mal vor.

Autor:  Dinarius [ So 02 Dez, 2007 13:44 ]
Betreff des Beitrags: 

mit deiner Vermutung liegst du da schon ganz richtig. Ich wollt nur nicht weiter chinesisch dazu schreiben. Sonst könnte der ---> :???: , noch größer werden.
Bin trotzdem weiterhin der Meinung, das sich zu großer Umbau nicht lohnt, und auch nicht im Sinne des Erfinders der Massenmail ist. Paar Gruppen hinfügen okay. Aber erweitern auf nur spezielle Gruppen, oder nur Gruppen und drunter. Oder in welche Richtungen auch immer. Dann könnt man es auch komplett neu anfangen. Und yom´s und Mail´s verschicken per direkter Anwahl, ohne Rücksicht auf Status oder dergleichen.

Autor:  Reyko [ Mo 11 Aug, 2008 16:57 ]
Betreff des Beitrags:  Re: Massenmails

*altes hervorkram*

Ma ne andere frage: ist es möglich statt "System" als absender bei dem YOM bereich den Wahren Absender der Mail anzu zeigen?

EDIT: Einerseits hats geklappt andererseits nicht

ich habe aus
PHP:
systemmail($row['acctid'],'`^Taubenschlag: `0'.$subject,$mail);


das gemacht

PHP:
systemmail($row['acctid'],'`^Taubenschlag: `0'.$subject,$mail,$session['user']['acctid']);


Mail wird gesendet mit absender alles gut und schön aber nun bekomm ich folgende ausgabe:

$this->bbcode_second_pass_code('', 'Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\apache\Server\LoHH\gameslow\common.php on line 210// Hier frag ich mich aber wieso das auftaucht obwohl ich ne YOM versende

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\apache\Server\LoHH\gameslow\common.php:210) in C:\xampp\apache\Server\LoHH\gameslow\common.php on line 127')

Der erste code der auf line 210 hinweist is nachvollziehbar da auf dem server wo ich bin noch kein richtiger SMTP server existiert da der Servermaster probleme hat es einzurichten aber der zweite code is mir unverständlich

Autor:  Dinarius [ Mo 11 Aug, 2008 17:50 ]
Betreff des Beitrags:  Re: Massenmails

~Faultier~ ;)

Autor:  Reyko [ Mo 11 Aug, 2008 18:01 ]
Betreff des Beitrags:  Re: Massenmails

Das löst mein Problem nicht wirklich da die Common.php sonst funktioniert ;) wenn es wirklich an der common liegen würde, würde der fehler ja überall kommen oder sehe ich das falsch

das hier sind übrigens die lines 200-220

PHP:
// We've inserted it into the database, so.. strip out any formatting
// codes from the actual email we send out... they make things
// unreadable
$body = preg_replace("'[`]n'", "\n", $body);
$body = preg_replace("'[`].'", "", $body);
mail($row['emailaddress'],"Neue LoHH Mail","Du hast eine neue Nachricht von LoHH @ http://".$_SERVER[HTTP_HOST].dirname($_SERVER[SCRIPT_NAME])." empfangen.\n\n$fromline"
."Betreff: ".preg_replace("'[`].'","",stripslashes($subject))."\n"
."Body: ".stripslashes($body)."\n"
."\nDu kannst diese Meldungen in deinen Einstellungen abschalten.",
"From: ".getsetting("gameadminemail","postmaster@localhost")
);
}
}

function isnewday($level){
global $session;
if ($session['user']['superuser']<$level) {
clearnav();
$session['output']="";
page_header("FREVEL!");
$session['bufflist']['angrygods']=array(

Autor:  Dinarius [ Mo 11 Aug, 2008 18:24 ]
Betreff des Beitrags:  Re: Massenmails

ich hab ja auch nicht behauptet, das deine common nicht funxt. Es ging einzig darum, aufzuzeigen. Was der Fehler übersetzt bedeutet. Das du vielleicht mal bei "nichteinschaubaren Ecken", selber schaust ob sich nicht ein Leerschlag eingeschlichen haben kann, beim "Erstellen der Nachricht". Und ich glaub auch nicht wirklich, das der commonauszug was bringen wird. Wird wohl eher was mit der "umgearbeiteten Massenmail.php" zutun haben.

Autor:  Eliwood [ Mo 11 Aug, 2008 18:32 ]
Betreff des Beitrags:  Re: Massenmails

Fehlermeldungen müssen nicht nur gelesen, sondern auch verstanden werden.
Als erstes haben wir sowas:
$this->bbcode_second_pass_code('', 'Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\apache\Server\LoHH\gameslow\common.php on line 210// Hier frag ich mich aber wieso das auftaucht obwohl ich ne YOM versende')
Eine Warnung - mail() funktioniert nicht. Heisst also, der E-Mail-Versand von diesem Server ist schlicht unmöglich. Das erklärt auch die Zeile 210 - die verschickt eine E-Mail.

$this->bbcode_second_pass_code('', 'Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\apache\Server\LoHH\gameslow\common.php:210) in C:\xampp\apache\Server\LoHH\gameslow\common.php on line 127')
Die zweite Fehlermeldung sagt nun, dass in der common.php in Zeile 210 bereits eine Ausgabe geschieht, und darum in Zeile 127 keine Header-Daten geschickt werden können. Logisch. Der Fehler ist aber nur ein Folgefehler - denn die Ausgabe in Zeile 210 ist die erste Fehlermeldung, der eigentliche Fehler.

Also: Mailserver installieren oder E-Mailversand deaktivieren. Ganz einfach.

Autor:  Reyko [ Mo 11 Aug, 2008 19:30 ]
Betreff des Beitrags:  Re: Massenmails

Okay danke euch :)

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/