Рассылка массовой электронной почты

Kryl

Blocked
Please note, if you want to make a deal with this user, that it is blocked.
Адаптированная версия https://torrentpier.com/forum/threads/rassylka-massovoj-ehlektronnoj-pochty-v-html-i-tekstom.471/

Автор мода - Yoko
Адаптировал - KRYL
Версия TP - 2.1.5
Изменения BD - да
Установка - легко

PHP:
<?

// Раскидать фалы по папкам ....

// Запрос в базу

CREATE TABLE IF NOT EXISTS `bb_megamail` (
  `mail_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `mailsession_id` varchar(32) NOT NULL,
  `group_id` mediumint(8) NOT NULL,
  `email_subject` varchar(60) NOT NULL,
  `email_body` text NOT NULL,
  `batch_start` mediumint(8) NOT NULL,
  `batch_size` smallint(5) unsigned NOT NULL,
  `batch_wait` smallint(6) NOT NULL,
  `status` smallint(1) NOT NULL,
  `user_id` mediumint(8) NOT NULL,
  `email_format` smallint(1) NOT NULL,
  `email_include_to` smallint(1) NOT NULL,
  PRIMARY KEY (`mail_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

//-------------------------------------------------------
// Открыть
/library/includes/init_bb.php
// Найти
define('BB_WORDS',                'bb_words');
// Ниже добавить
define('BB_MEGAMAIL',             'bb_megamail');
//-------------------------------------------------------

// Открыть
/library/includes/classes/emailer.php

// Найти
function send
// Заменить на
function send($email_format = 'text')
// Найти
        // Build header
        $type = ($email_format == 'html') ? 'html' : 'plain';
        $this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $bb_cfg['board_email'] . "\n") . "Return-Path: " . $bb_cfg['board_email'] . "\nMessage-ID: <" . md5(uniqid(TIMENOW)) . "@" . $bb_cfg['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/$type; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', TIMENOW) . "\nX-Priority: 0\nX-MSMail-Priority: Normal\nX-Mailer: Microsoft Office Outlook, Build 11.0.5510\nX-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441\nX-Sender: " . $bb_cfg['board_email'] . "\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '')  . (($bcc != '') ? "Bcc: $bcc\n" : '');

        // Заменить на

        // Build header
        $type = ($email_format == 'html') ? 'html' : 'plain';
          if ($email_format == 'html')
{
// Build html header
$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $bb_cfg['board_email'] . "\n") . "Return-Path: " . $bb_cfg['board_email'] . "\nMessage-ID: <" . md5(uniqid(time())) . "@" . $bb_cfg['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/html; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '') . (($bcc != '') ? "Bcc: $bcc\n" : '');
}
else
{
// Build text header
$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $bb_cfg['board_email'] . "\n") . "Return-Path: " . $bb_cfg['board_email'] . "\nMessage-ID: <" . md5(uniqid(TIMENOW)) . "@" . $bb_cfg['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', TIMENOW) . "\nX-Priority: 0\nX-MSMail-Priority: Normal\nX-Mailer: Microsoft Office Outlook, Build 11.0.5510\nX-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441\nX-Sender: " . $bb_cfg['board_email'] . "\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '') . (($bcc != '') ? "Bcc: $bcc\n" : ''); }

// Открыть
/library/includes/language/main.php
// Добавить в конец
$lang['Megamail_Explain'] = 'Здесь вы можете написать сообщение для всех ваших пользователей, или для всех пользователей определенной группы.
Это должно обойти таймаут и серверную нагрузки. Письма будут сохранены в базе данных, потом их надо после отправки будет удалить. Вы можете закрыть окно, если вы хотите приостановить массовую рассылку почты (текущий пакет будет разослан). Позже вы можете просто продолжить, где вы остановились. <br />';
$lang['megamail_header'] = 'Ваша E-mail-Рассылка';
$lang['megamail_id'] = 'Mail-ID';
$lang['megamail_batchstart'] = 'Обработанные';
$lang['megamail_batchsize'] = 'Письма в пакете по';
$lang['megamail_batchwait'] = 'Пауза';
$lang['megamail_created_message'] = 'Массовая Mail был сохранен в базе данных.<br /><br/> Чтобы начать передачу %sнажмите сюда%s или подождите пока вас вернет назад (%s sec) принимает вас есть...';
$lang['megamail_send_message'] = 'текущий пакет (%s - %s) было отправлено .<br /><br/> Чтобы продолжить отправку %sнажмите сюда%s или подождите пока вас вернет назад (%s sec) принимает вас есть...';
$lang['megamail_status'] = 'Статус';
$lang['megamail_proceed'] = '%sЖмем для продолжения отправки%s';
$lang['megamail_done'] = 'Отправлено';
$lang['megamail_none'] = 'Нет записей.';

$lang['megamail_email_include_to'] = 'Выберите:';

$lang['megamail_email_format'] = 'Формат маила';
$lang['megamail_email_format_html'] = 'HTML';
$lang['megamail_email_format_text'] = 'ТЕКСТ';
$lang['group_name'] = 'Название группы';
$lang['FINISH'] = 'Успешно отправлены!';

// так же прописать ланги в английском и украинском main.php (что бы не было нотисов)


// Отредактировать файл , поменять значение на свой домен
admin_send_html_email.html

Выделить нужное на странице .
Перейти на сервис Визуальный HTML онлайн-редактор
Там получить html версию страницу . Обернуть код в тег <BODY>...</BODY>
555002.webp 555003.webp 555004.webp 555005.webp 555006.webp 555007.webp


screencapture-60-fps-org-admin-index-php-1492085386764.webp screencapture-60-fps-org-admin-index-php-1492085414000.webp screencapture-mail-yandex-ru-1492085071132.webp
 

Attachments

Вот это круто. Спасибо большое, уже затестил - всё работает.
Но почему-то по 2 письма шлёт ?
 
Last edited:
Please note, if you want to make a deal with this user, that it is blocked.
vitalix,
а фиг знает ...
может что то не так прописал ?
 
да ещё это после отправки в админке - если подождать возврата

Template->make_filename(): Error - template file not found:

styles/templates/default/error_body.tpl

Не хватает файла ?
 
Please note, if you want to make a deal with this user, that it is blocked.
У меня вроде не было такой ошибки ..
да и файла такого нет ..
 
Please note, if you want to make a deal with this user, that it is blocked.
Привет , что то не работает, ошибок нет, при выборе группы отправка идет, при выборе всех пользователей, отправка идет но писем в почте нет .

... может кто сталкивался .
 
Привет , что то не работает, ошибок нет, при выборе группы отправка идет, при выборе всех пользователей, отправка идет но писем в почте нет .

... может кто сталкивался .

Возможно что-то с самим почтовиком? Отправка через SMTP?
 
Please note, if you want to make a deal with this user, that it is blocked.
Возможно что-то с самим почтовиком? Отправка через SMTP?
Использую roundcube, мот что пользователей больше 60000 ...
да и в запросе смущает $group_id != -1
 
Back
Top