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

Kryl

Пользователь
Адаптированная версия 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

Выделить нужное на странице .
Перейти на сервис

Please Login or Register to view hidden text.


Там получить html версию страницу . Обернуть код в тег <BODY>...</BODY>
555002.jpg 555003.jpg 555004.jpg 555005.jpg 555006.jpg 555007.jpg


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

Вложения

  • Рассылка массовой электронной почты.zip
    17.2 KB · Просмотры: 28

vitalix

Пользователь
Вот это круто. Спасибо большое, уже затестил - всё работает.
Но почему-то по 2 письма шлёт ?
 
Последнее редактирование:

vitalix

Пользователь
да ещё это после отправки в админке - если подождать возврата

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

styles/templates/default/error_body.tpl

Не хватает файла ?
 

Kryl

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

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

ErR

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

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

Возможно что-то с самим почтовиком? Отправка через SMTP?
 
Сверху