на данный момент не знаю о таком хаке или модуле, на многих форумах встречал подобные вопросы но никто так и не выложил решение. Думаю что самый актуальный выход это использовать feedburner.
http://nowheredev.ru/developments/php/49-massovaya-rassylka-novostey-avto.html но как то не очень хочется платить, многие пишут что не работает...
Я тоже искал и не нашел именно для гостей. Есть массовая рассылка, но хочется не вручную, а автоматом что бы все делалось. Гость ввел мэйл и получал новости. Как найдете решение, хоть и платное, дайте знать пожалуста.
Ладно,т.к делать нечего - напишу простенький модуль. В модули написан основной функционал,поэтому доработка под ваши нужды платная 1.Делаем sql запрос PHP: CREATE TABLE`dle_subscribe_news` (`id` INT(11) NOT NULL AUTO_INCREMENT,`email` CHAR(30) NOT NULL,`subscribe` TINYINT(6) NOT NULL,PRIMARY KEY(`id`)) 2.Правим engine/engine.php находим PHP: case "addnews" :include ENGINE_DIR . '/modules/addnews.php';break; внизу добавляем PHP: case "subscribe" :include ENGINE_DIR . '/modules/subscribe.php';break; находим PHP: elseif ($do == 'addnews') $nam_e = $lang['title_addnews']; внизу добавляем PHP: elseif ($do == 'subscribe') $nam_e = "Подписатся на новости"; 3.Создаем файл subscribe.php в дериктории engine/modules/ PHP: <?php/*=====================================================Автор: Wooka-----------------------------------------------------Назначение: подписка на новости=====================================================*/ if( ! defined( 'DATALIFEENGINE' ) ) {die( "Hacking attempt!" );} if( isset( $_POST['send'] ) ) {include_once ENGINE_DIR . '/classes/mail.class.php';$mail = new dle_mail( $config ); $email=trim(htmlspecialchars($_POST["email"]));if(!preg_match("/[0-9a-z_]+@[0-9a-z_^.-]+.[a-z]{2,3}/i",$email)){$error.="Вы ввели неверный <b>E-Mail</b><br>";} $sql_result = $db->query( "SELECT * FROM " . USERPREFIX . "_subscribe_news where email = '{$email}', subscribe = 1 " );$row = $db->get_row( $sql_result ); if(!empty($row['id'])){$error.="Вы уже подписаны на новости<br>";} $sql_result = $db->query( "SELECT * FROM " . USERPREFIX . "_subscribe_news where email = '{$email}'" );$input = $db->get_row( $sql_result );if (empty($input['id'])){$db->query( "INSERT INTO " . USERPREFIX . "_subscribe_news (email,subscribe) values ('{$email}','1')" );} if(@$error){msgbox("Внимание, обнаружена ошибка", $error);}else{msgbox("Спасибо", "Вы подписались на новость");} $tpl->copy_template = "<form method=\"post\" action=\"\">\n<input name=\"email\" type=\"text\" /><center><input name=\"send\" type=\"submit\" value=\"Отправить\" /></center></form>";$tpl->compile( 'content' );$tpl->clear();$tpl->compile( 'content' );$tpl->clear(); ?> 4.Правим файл engine/modules/addnews.php Ищем PHP: $db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_br', '$catalog_url', '" . $_POST['tags'] . "')" ); Внизу добавляем PHP: include_once ENGINE_DIR . '/classes/mail.class.php'; $mail = new dle_mail( $config ); $tema = "Новая новость";$test = <<<HTMLЗдравствуйте!Была доабвлена новая новость.HTML; $subscribe = $db->query( "SELECT * FROM " . USERPREFIX . "_subscribe_news where subscribe = 1 " ); while ($subscribe1 = $db->get_row( $subscribe )){$mail->send( $subscribe['email'], $tema, $test);} Работоспособность модуля не проверял , т.к было влом Если полезут ошибки - пишите,буду проверять и править. Ссылка на вашу подписку http://адрес сайта/index.php?do=subscribe