Author Topic: Batch of emails  (Read 5565 times)

0 Members and 1 Guest are viewing this topic.

Offline Moonwalker

  • Pre-Newbie
  • Posts: 1
    • View Profile
Batch of emails
« on: October 29, 2005, 01:49:24 PM »
Hi all.
I have some 1000 members and I have a problem when sending email to all. Most of the members didn't get the email. :)
So.. Is there a way to sending batch of emails? Ex. 500 every minut?

Sorry for my bad English, but I hope you understand.


Offline Acidgod

  • Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: Batch of emails
« Reply #1 on: October 29, 2005, 02:28:33 PM »
have any php skills?

i will make a Plugin for that but i have not the time to make it...

This is the Plugin i have modify, but it still don´t work!!!

email.php
Code: [Select]
<?php // PLUGIN_TITLE: Massmailer
/**************************************************************************
*                                                                        *
*    4images - A Web Based Image Gallery Management System               *
*    ----------------------------------------------------------------    *
*                                                                        *
*             File: email.php                                            *
*        Copyright: (C) 2002 Jan Sorgalla                                *
*            Email: jan@4homepages.de                                    *
*              Web: http://www.4homepages.de                             *
*    Scriptversion: 1.7.1                                                *
*                                                                        *
*    Never released without support from: Nicky (http://www.nicky.net)   *
*                                                                        *
**************************************************************************
*                                                                        *
*    Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz-       *
*    bedingungen (Lizenz.txt) für weitere Informationen.                 *
*    ---------------------------------------------------------------     *
*    This script is NOT freeware! Please read the Copyright Notice       *
*    (Licence.txt) for further information.                              *
*                                                                        *
*************************************************************************/

$nozip 1;
define('IN_CP'1);

$PHP_SELF = (isset($PHP_SELF)) ? $PHP_SELF $_SERVER['PHP_SELF'];
$root_path = (eregi("\/plugins\/"$PHP_SELF)) ? "./../../" "./../";
define('ROOT_PATH'$root_path);
require(
ROOT_PATH.'admin/admin_global.php');

// TEXT
define('MASSMAIL_TITEL'"Emails an User versenden");
define('MASSMAIL_MAXMAILS'"Anzahl der Mails die verschickt werden sollen");
define('MASSMAIL_BREAK'"Pause (sec.)");
define('MASSMAIL_AUTOREDIRECT'"Automatische Weiterleitung");
define('MASSMAIL_USERLEVEL'"Userlevel");
define('MASSMAIL_SUBJECT'"Betreff");
define('MASSMAIL_MESSAGE'"Nachricht");
define('MASSMAIL_BUTTON_SEND'"Emails an User versenden");
define('MASSMAIL_SUBJECT2'"Betreff (%=wildcard)");
define('MASSMAIL_MESSAGE2'"Nachricht (%=wildcard)");

if (
$action == "") {
$action "emailusers";
}

show_admin_header();

if (
$action == "sendemails") {
$error = array();
$maxemails stripslashes(trim($HTTP_POST_VARS['maxemails']));
$break stripslashes(trim($HTTP_POST_VARS['break']));
$autoredirect stripslashes(trim($HTTP_POST_VARS['autoredirect']));
$user_level $HTTP_POST_VARS['user_level'];
$subject stripslashes(trim($HTTP_POST_VARS['subject']));
$message stripslashes(trim($HTTP_POST_VARS['message']));
$limitfrom $HTTP_POST_VARS['limitfrom'];

/* echo "Betreff: ".$subject ;
echo "<br>";
echo "Nachricht: ".$message;
echo "<br>";
echo "Max: ".$maxemails;
echo "<br>"; */



if ($maxemails == "") {
$error['maxemails'] = 1;
}
if ($break == "") {
$error['break'] = 1;
}
if ($user_level <= || $user_level == "") {
$error['user_level'] = 1;
}
if ($subject == "") {
$error['subject'] = 1;
}
if ($message == "") {
$error['message'] = 1;
}
if (empty($error)) {
// Limit
if (empty($limitfrom)){
$limitfrom 0;
$limitto $limitfrom $maxemails;
define(PM_LIMIT"DESC LIMIT ".$limitfrom." , ".$limitto);
}else {
$limitto $limitfrom $maxemails;
define(PM_LIMIT"DESC LIMIT ".$limitfrom." , ".$limitto);
}
//Where definieren
define('WHERE_ID'"WHERE user_level = '".$user_level."'");
// Mailaddi aus der Datenbank holen
global $site_db;
$sql "SELECT user_email
FROM "
.USERS_TABLE."
"
.WHERE_ID."
ORDER BY user_id
"
.PM_LIMIT;
$result $site_db->query($sql);
//$number = mysql_num_rows($result);

include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_to($config['site_email']);
$site_email->set_subject($subject);
$site_email->register_vars(array(
"message" => $message,
"site_email" => $config['site_email'],
"site_name" => $config['site_name']
));
$site_email->set_body("admin_email"$config['language_dir']);
$emails = array();

while($row $site_db->fetch_array($result)){
echo $row["user_email"];
echo "<br>";
array_push($emails$row["user_email"]);
}
$site_email->set_bcc($emails);

// javascript, link oder fertig
/*echo "Limit to: ".$limitto ;
echo "<br>";
echo "Limit from: ".$limitfrom;
echo "<br>";
echo "Number: ".$number;
echo "<br>";
echo "Max: ".$maxemails;
echo "<br>"; */

//###########################
//###########################
//###########################


show_form_header("email.php""sendemails");
show_table_header(MASSMAIL_TITEL2);
show_input_row(MASSMAIL_LIMITFROM"limitfrom"$limitto5);
show_input_row(MASSMAIL_MAXMAILS"maxemails"$maxemails5);
show_input_row(MASSMAIL_BREAK"break"$break5);
show_radio_row(MASSMAIL_AUTOREDIRECT"autoredirect"1);
show_input_row(MASSMAIL_USERLEVEL"user_level"$user_level45);
show_input_row(MASSMAIL_SUBJECT"subject"$subject45);
show_textarea_row(MASSMAIL_MESSAGE"message"$message6020);
show_form_footer(MASSMAIL_BUTTON_SEND""2);

if ($autoredirect) {
?>

<script language="javascript">
myvar = "";
timeout = 15;
function dorefresh() {
window.status="Redirecting"+myvar;
myvar = myvar + " .";
timerID = setTimeout("dorefresh();", 100);
if (timeout > 0) {
timeout -= 1;
}
else {
clearTimeout(timerID);
document.formular.submit()
window.status="";
//window.location="<?php echo $page?>";
}
}
dorefresh();
</script>
<?php

//###########################
//###########################
//###########################


}
}else {
$msg sprintf("<span class=\"marktext\">%s</span>"$lang['lostfield_error']);
$action "emailusers";
}
}



if (
$action == "emailusers") {
if ($msg != "") {
printf("<b>%s</b>\n"$msg);
}
show_form_header("email.php""sendemails");
show_table_header(MASSMAIL_TITEL2);
show_input_row(MASSMAIL_MAXMAILS"maxemails""2"5);
show_input_row(MASSMAIL_BREAK"break""30"5);
show_radio_row(MASSMAIL_AUTOREDIRECT"autoredirect"1);
show_userlevel_select_row(MASSMAIL_USERLEVEL"user_level"$user_row['user_level'],45);
show_input_row(MASSMAIL_SUBJECT"subject""Betreff"45);
show_textarea_row(MASSMAIL_MESSAGE"message""Nachricht..."6020);

$select "<select name=\"emails[]\" size=\"15\" multiple=\"multiple\">\n";

$sql "SELECT ".get_user_table_field("""user_id").get_user_table_field(", ""user_level").get_user_table_field(", ""user_name").get_user_table_field(", ""user_email")."
          FROM "
.USERS_TABLE.
          WHERE "
.get_user_table_field("""user_id")." <> ".GUEST." AND ".get_user_table_field("""user_allowemails")." = 1 
          ORDER BY "
.get_user_table_field("""user_level")." DESC";
$result $site_db->query($sql);

$level 1000;
while ($row $site_db->fetch_array($result)) {
$user_level $row[$user_table_fields['user_level']];
if ($level != $user_level && $user_level == ADMIN) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_admin']."</option>\n";
}
elseif ($level != $user_level && $user_level == USER) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_registered']."</option>\n";
}
elseif ($level != $user_level && $user_level == USER_AWAITING) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_registered_awaiting']."</option>\n";
}
$user_email $row[$user_table_fields['user_email']];
$user_name $row[$user_table_fields['user_name']];
$selected = (isset($HTTP_POST_VARS['emails']) && !in_array($user_email$HTTP_POST_VARS['emails'])) ? "" " selected=\"selected\"";
$select .= "<option value=\"".$user_email."\"".$selected.">&raquo; ".$user_name." (".$user_email.")</option>\n";
$level $user_level;
}
$select .= "</select>\n";

$title $lang['select_email_user'];
if (isset($error['emails'])) {
$title sprintf("<span class=\"marktext\">%s *</span>"$title);
}
//show_custom_row($title, $select);
show_form_footer(MASSMAIL_BUTTON_SEND""2);
}

show_admin_footer();
?>

Offline Knuty

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Batch of emails
« Reply #2 on: October 30, 2005, 09:20:40 AM »
Quote
have any php skills?


Not much, but maybe someone have? :)

Offline Acidgod

  • Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: Batch of emails
« Reply #3 on: January 03, 2008, 10:34:41 PM »
[PLUGIN] Massmailer/Batch Mailer - > http://www.4homepages.de/forum/index.php?topic=20049.0

Sorry das ich das raus krame, nur falls mal wer danach sucht... ^^