Blame | Letzte Änderung | Log anzeigen | RSS feed
<?$self=basename($PHP_SELF);$DB="verteiler";define ("modul_name", "mail_verteiler");define ("tool_name", "versenden");require_once "../Online-Shop/connect2.php";if (!isset($user_rechte[mail_verteiler][versenden][html])){header("Location: mailVerteilerSelect.php");}function attachments($splitter){$buffer = array();foreach(array_keys($_FILES["attach"]["error"]) as $fileIndex => $errorCode){if ($_FILES["attach"]["error"][$fileIndex] == 0){$buffer[] = implode("\n", array("--".$splitter,"Content-Type: ".$_FILES["attach"]["type"][$fileIndex].";","\tname=\"".$_FILES["attach"]["name"][$fileIndex]."\"","Content-Transfer-Encoding: base64","Content-Disposition: attachment;","\tfilename=\"".$_FILES["attach"]["name"][$fileIndex]."\"","",chunk_split(base64_encode(file_get_contents($_FILES["attach"]["tmp_name"][$fileIndex]))),""));}}returnimplode("\n",$buffer);}if ($action){$query="SELECT * FROM Verteiler where ID = $Verteiler_NR";$result_Verteiler = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");$Verteiler=mysql_fetch_array($result_Verteiler);$headers["From"]="From: $Verteiler[Absender]";//$headers["CC"]="";//$headers["BCC"]="";unset($text);/* ############################################################################################ *//* Nachricht zusammenstellen *//* ############################################################################################ *//* boundary für diese Nachricht festlegen *//* INIT $boundary */srand ((double)microtime()*1000000);$boundary="";for ($a=0; $a <= 15; $a++) { $boundary=$boundary.sprintf("%02X",rand(0,255));}$boundary="=_".$boundary;/* boundary für diese Nachricht festlegen *//* Headers erweitern */$headers["MIME-Version"] = "MIME-Version: 1.0";$headers["Content-Type"] = "Content-Type: multipart/alternative;";$headers["boundary"] = chr(9)."boundary=\"".$boundary."\"";$CONTENT_HEADERS=array("PLAIN" => array("--".$boundary,"Content-Type: text/plain; charset=\"ISO-8859-1\"","Content-Transfer-Encoding: 7bit","",""),"HTML" => array("","--".$boundary,"Content-Type: text/html; charset=\"ISO-8859-1\"","Content-Transfer-Encoding: quoted-printable","",""));/* LOGOUT-LINK an eingegebene Nachrichten anhängen */if (isset($web_rechte[mail_verteiler][verteiler][logout_link])){$message[PLAIN]=$message[PLAIN]."\n\n[logout_link]";$message[HTML]=stripslashes(preg_replace ("/=/", "=3D", $message[HTML]."<br><br><a href=\"[logout_link]\">Newsletter abbestellen</a>"));}else{$message[PLAIN]=$message[PLAIN];$message[HTML]=stripslashes(preg_replace ("/=/", "=3D", $message[HTML]));}foreach(array_keys($CONTENT_HEADERS) as $elem){$message[$elem]=join($CONTENT_HEADERS[$elem],"\n").$message[$elem];}$message[]=attachments($boundary);$text=join($message,"\n")."\n--".$boundary."--\n";/* ############################################################################################ *//* Nachricht zusammenstellen ENDE *//* ############################################################################################ */// Aus dem Textfeld ein tolles Array machen!$To=preg_replace("/[\n]/", "", $To);$To = explode("|",$To);// Den letzten Wert killenunset($To[count($To) - 1]);$grundfunktionen = explode(";", $web_rechte[mail_verteiler][versenden][grundfunktionen]);$i = 0;foreach ($To as $key => $value) {// Semikolon anhängen, zum besseren arbeiten$value .= ";";// Mail ist immer zuerst$To_array[$i][E_Mail] = substr($value, 0, strpos($value, ";"));// Für jede Grundfunktionforeach($grundfunktionen as $key2 => $value2) {// Erst den vorherigen wert abschneiden (bis einschließlich ";")$value = strstr($value, ";");$value = substr($value, 1);// Der key ist gleich dem value von $grundfunktionen und value ist der wert bis zum ersten ";"$To_array[$i][$value2] = substr($value, 0, strpos($value, ";"));}$i++;}$To = $To_array;foreach($To as $value){$logout_link = $web_rechte[mail_verteiler][verteiler][logout_link]."?m=".$value[E_Mail]."&v=".$Verteiler[ID];$text2=preg_replace("/\[logout_link\]/",stripslashes(preg_replace("/=/","=3D",$logout_link)),$text);// Mails verschicken wird überbewertet!//mail($mailadresse, $Verteiler[Betreff], $text2, implode("\n",$headers));// In den Mailspool packen// Aber vorher den Text ($text2) parsen/*Was zu parsen ist steht ja in den Grundfunktionen. Zum Beispiel 'Name1' und 'ID'. In $to stehen ja die Werte dafür.'E_Mail' steht immer an erster Stelle, hat also den Platzhalter #1#. Die weiteren zu parsenden Sachen stehen in$grundfunktionen. Angefangen mit 0. Aber der erste nach 'E_Mail' startet mit 2. Also in der Schleife unten immer+2 nehmen*/$grundfunktionen = explode(";", $web_rechte[mail_verteiler][versenden][grundfunktionen]);$subst = $value[E_Mail];$text2 = str_replace("<in1in>", $subst, $text2);$text2 = str_replace("##1##", $subst, $text2);foreach($grundfunktionen as $key2 => $value2) {$subst = $value[$value2];$i = $key2 + 2;$text2 = str_replace("##$i##", $subst, $text2);}$mail[webs_ID] = $webs[ID];$mail[to] = $value[E_Mail];$mail[cc] = '';$mail[bcc] = '';$mail[subject] = $Verteiler[Betreff];$mail[from] = $Verteiler[Absender];$mail[header_add] = implode("\n",$headers);$mail[text] = $text2;$mail[takeoff] = date("Y-m-d H:i:s"); // Takeoff ist immer NOW (Format: "2005-10-20 13:17:23"$mail[erstellt_von] = $PHP_AUTH_USER;$query_spool = "USE content_management";$result = mysql_query ($query_spool, $localhost_dbh) or die (mysql_errno().": ".mysql_error()."<hr>$query_spool<hr>");$query_spool = "INSERT INTO`mailspool_out`(`ID` ,`webs_ID` ,`to` ,`cc` ,`bcc` ,`subject` ,`from` ,`header_add` ,`text` ,`takeoff` ,`erstellt_am` ,`erstellt_von`)VALUES('','".($mail[webs_ID])."','".($mail[to])."','".($mail[cc])."' ,'".($mail[bcc])."' ,'".($mail[subject])."','".($mail[from])."','".($mail[header_add])."','".($mail[text])."','".($mail[takeoff])."',NOW(),'".($mail[erstellt_von])."')";$result = mysql_query ($query_spool, $localhost_dbh) or die (mysql_errno().": ".mysql_error()."<hr>$query_spool<hr>");}header("Location: mailsent.php?count=".count($To));} // end of if ($action)$Verteiler=array();$result = mysql_query ("SELECT * FROM Verteiler order by name") or die (mysql_errno().": ".mysql_error());while($zeile=mysql_fetch_array($result)){$Verteiler[$zeile[ID]]=$zeile;}if (!$Verteiler_NR){$Verteiler_NR = array_keys($Verteiler);$Verteiler_NR = $Verteiler_NR[0];}?><html><head><title>Mail versenden</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="author" content="Webagentur Niewerth - www.weban.de"><meta name="revisit-after" content="30 days"><meta name="language" content="deutsch, de"><meta name="distribution" content="global"><meta name="robots" content="all"><link rel=stylesheet type="text/css" href="../buttons.css"><style type="text/css"><!--a { color: #<? echo $webs[font_color_rechts] ?>}--></style><script type="text/javascript">_editor_url = "../htmlarea/";_editor_lang = "de";</script><script type="text/javascript" src="../htmlarea/htmlarea.js"></script></head><body bgcolor="#<? echo $webs[bgcolor_seite] ?>" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10" text="#<? echo $webs[font_color_rechts] ?>"><form method="post" action="#" enctype="multipart/form-data"><table width="800" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999"><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" colspan="2">Verteilersenden: <input type="hidden" name="Verteiler_NR" value="<?=$_REQUEST[Verteiler_NR];?>"></td></tr><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">An:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><?$to=array();//Jenachdem was im Redaktionssystem angegeben ist, werden mehr Infos geholt und später mit in $to gepackt$grundfunktionen = explode(";", $web_rechte[mail_verteiler][versenden][grundfunktionen]);$zusatzfelder = '';foreach($grundfunktionen as $value){if ($value){$zusatzfelder .= ", $value";}}$query="SELECT DISTINCTLogins.E_Mail,MD5(Logins.E_Mail) as MD5$zusatzfelderFROMLogins,Logins_to_VerteilerWHERELogins.ID = Logins_to_Verteiler.LoginsANDLogins_to_Verteiler.Verteiler = '".$_REQUEST[Verteiler_NR]."'ORDER BYID";$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");$count = mysql_num_rows($result);// Userdaten werden ins Array $to gepacktwhile ($zeile=mysql_fetch_assoc($result)){if (preg_match("/^[A-Za-z0-9-_.+]+\@[A-Za-z0-9-_.+]+\.[A-Za-z]+$/", $zeile[E_Mail]) > 0){$to[$zeile[MD5]][E_Mail]=$zeile[E_Mail];//Jenachdem was im Redaktionssystem angegeben ist, werden mehr Infos geholt und später mit in $to gepacktforeach($grundfunktionen as $value) {$to[$zeile[MD5]][$value]=$zeile[$value];}}}?><textarea name="To" cols="100" rows="10"><?foreach($to as $key => $value) {$ausgabe = '';foreach($value as $key2 => $value2) {if ($value2){$ausgabe .= "$value2;";}}$ausgabe = substr($ausgabe, 0, strlen($ausgabe) - 1) . "|\n";echo $ausgabe;}?></textarea><br>Anzahl der ausgelesenen Empfänger: <?=count($to);?></td></tr><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Absender:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><? echo nl2br($Verteiler[$Verteiler_NR][Absender]) ?></td></tr><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Betreff:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><? echo nl2br($Verteiler[$Verteiler_NR][Betreff]) ?></td></tr><? if (!isset($web_rechte[mail_verteiler][versenden][html])){?><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Begrüssung:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><? echo nl2br($Verteiler[$Verteiler_NR][Begruessung]) ?></td></tr><?}?><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Text:(Plain) </td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><textarea name="message[PLAIN]" cols="100" rows="10" wrap="OFF"></textarea></td></tr><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Text:(HTML) </td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><textarea id=messageHTML name="message[HTML]" cols="200" rows="10" wrap="OFF"><?if ($Verteiler[$_GET[Verteiler_NR]][Template_URL]){echo $Verteiler[$Verteiler_NR][Begruessung];readfile($Verteiler[$_GET[Verteiler_NR]][Template_URL]);echo $Verteiler[$Verteiler_NR][Schlusstext];}?></textarea><script type="text/javascript">var config = new HTMLArea.Config();with (config){width = '650';height = '500';statusBar=false;toolbar =[["fontname", "space", "fontsize", "space", "formatblock", "space","bold", "italic", "underline", "separator","strikethrough", "subscript", "superscript", "separator","copy", "cut", "paste", "separator", "undo", "redo"],["justifyleft", "justifycenter", "justifyright", "justifyfull", "separator","insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator","forecolor", "hilitecolor", "textindicator", "separator","inserthorizontalrule", "createlink", "insertimage", "htmlmode"]];}HTMLArea.replace("messageHTML",config);</script></td></tr><? if (!isset($web_rechte[mail_verteiler][versenden][html])){?><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" width="20%" valign="top">Schlusstext:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><? echo nl2br($Verteiler[$Verteiler_NR][Schlusstext]) ?></td></tr><?}?><script language="javascript">function addAttach(){source=document.getElementById("attachment")clone=source.cloneNode(true);clone.removeAttribute("id");source.parentNode.appendChild(clone);}function removeAttach(obj){div = obj.parentNode;td = obj.parentNode.parentNode;if (!div.id){td.removeChild(div);}}</script><tr><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" valign="top" width="20%">Attachments:</td><td bgcolor="#<? echo $webs[bgcolor_rechts] ?>"><div id="attachment"><input type="file" name="attach[]"><input type="button" value="Add" onClick="addAttach()"><input type="button" value="Remove" onClick="removeAttach(this)"></div></td></tr><tr align="right"><td bgcolor="#<? echo $webs[bgcolor_links] ?>" class="headline" colspan="2"><input type="submit" name="action" value="Abschicken"><input type="reset" value="Zurücksetzen"></td></tr></table></form></body></html>